aspose.cell 20.9 研究去水印

本文介绍了作者尝试通过反编译aspose.cell去除试用版水印的过程,使用了dnspy工具进行调试,发现在特定代码段删除IL指令即可成功移除水印,但建议找到判断试用版的源头以彻底解决问题。

aspose.cell是个非常好用的Excel插件,可不安装Excel使用。他是收费的,而且不便宜。
免费也是可以用的,但编辑保存后会多出现个sheet,说明是试用版。不商用的话没什么影响。我用了很多年了。

今天心血来潮,想试图去研究下如何去掉水印,还从来没搞过.net的逆向。
先去网上查查c#的反编译器,https://blog.csdn.net/kongwei521/article/details/54927689/ 这里介绍了几款,
装了一个免费的,一个收费的(还没免费的好用报错的厉害,脸呢)。
最后用dnspy试试,这个软件的功能我就不介绍了,我也接触不到1个小时。

开始准备:
1.nuget安装aspose.cell,我的版本是 20.9 目前的最新版
2.打开vs随便些几行代码,然后运行。

 static void Main(string[] args)
        {
   
   
            Workbook wb = new Workbook();
            wb.Worksheets[0].Cells[0, 0].Value = "tes55555t";
            wb.Save("1232.xlsx");
        }

执行成功,生成的1232.xlsx中带有水印的sheet,我就不截图了。

用dnspy加载这个exe程序,惊讶的发现,真没见过那么好用的反编译器,和以前在od里绕汇编比,简直就是天堂,界面非常友好,和vs很像,和vs的快捷键也一样,甚至你自己写的变量的命名都一模一样,而且他不是静态反编译的,还能调试!!

惊讶完开始做事,找到main函数,如下

	internal class Program
	{
   
   
		// Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
		private static void Main(string[] args)
		{
   
   
			Workbook wb = new Workbook();
			wb.Worksheets[0].Cells[0, 0].Value = "tes55555t";
			wb.Save("1232.xlsx");
			
	}

在Workbook wb = new Workbook();下断,一步一步走。
调试可见,第一句没做什么,第二句是正常操作,那么水印在第三句中加的,F7 慢慢走吧。
到这里:

FileStream fileStream = File.Create(fileName);
			try
			{
   
   
				this.Save(fileStream, saveOptions);
			}
			catch (Exception ex)
			{
   
   
				throw ex;
			}
			finally
			{
   
   
				if (fileStream != null)<
在IT行业中,Aspose是一个知名的库,用于处理各种文件格式,包括Word文档(.docx)、Excel表格(.xlsx)和PDF等。本资源提供的"Aspose-Words-21.11"和"Aspose-Cells-21.11"是这两个库的特定版本,无水印的jar文件,适用于Java开发环境。这两个库为开发者提供了强大的功能,可以方便地在应用程序中创建、读取、修改和转换这些文件,而无需依赖Microsoft Office等外部软件。 Aspose.Words是Aspose产品系列中用于处理Word文档的一个组件。它允许开发者在Java应用程序中实现对Word文档的高级操作,例如创建新文档、读取现有文档、编辑内容、添加或删除段落、样式控制、图片处理、表单填写、邮件合并等。21.11版本可能包含了一些性能优化和新功能,如更好的图像处理能力、更丰富的格式支持或者修复了某些已知问题。 Aspose.Cells则是处理Excel电子表格的组件。通过这个库,开发者可以在Java代码中处理单元格数据、公式、图表、图像、样式、工作表等。它支持读写.xlsx、.xls格式的文件,甚至可以生成复杂的报表。21.11版同样可能增强了性能,增加了新的API接口,或者对一些Excel特性的支持更加完善。 使用这两个库,开发者可以轻松实现将Word文档和Excel表格转换为HTML或PDF格式。这对于创建Web应用、报表生成、数据导出等功能非常有用。例如,你可以将用户在网页上填写的数据保存为Word文档,或将数据库中的数据导出为PDF报告。 "无水印jar"意味着这些库在生成的文件上不会有任何Aspose水印,适合商业用途,避免了免费版本的限制。而"使用说明"应该包含了如何集成这两个库到你的Java项目中,以及如何调用其API进行文件操作的详细步骤和示例代码。 在实际使用中,首先需要将这两个jar文件添加到你的项目类路径中,这可以通过Maven、Gradle等构建工具实现。然后,根据提供的说明,导入相应的类,实例化对象,调用相应的方法进行文件操作。例如,使用Aspose.Words创建一个新的Word文档: ```java import com.aspose.words.Document; import com.aspose.words.Paragraph; Document doc = new Document(); Paragraph para = doc.getParagraphs().add(); para.getText().set("Hello, World!"); doc.save("output.docx"); ``` 类似地,使用Aspose.Cells处理Excel数据: ```java import com.aspose.cells.Workbook; import com.aspose.cells.Worksheet; Workbook workbook = new Workbook(); Worksheet worksheet = workbook.getWorksheets().get(0); worksheet.getCells().get("A1").putValue("Data"); workbook.save("output.xlsx"); ``` 对于PDF和HTML的转换,Aspose库通常提供了一套完整的API来完成这些任务。比如,将Word文档转换为PDF: ```java import com.aspose.words.Document; import com.aspose.words.SaveOptions; import com.aspose.words.Saving.SaveFormat; Document doc = new Document("input.docx"); doc.save("output.pdf", new SaveOptions(SaveFormat.PDF)); ``` Aspose.Words和Aspose.Cells是强大且功能丰富的Java库,能够帮助开发者高效地处理Word文档和Excel表格,而无水印jar文件则提供了无限制的商业使用体验。配合详细的使用说明,可以快速地将这些功能集成到你的Java项目中。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值