Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响

Posted <・)))><<

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响相关的知识,希望对你有一定的参考价值。

jxl的maven坐标:

<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

作为示例,我们新建按一个excel,它的第一个工作页内容如下:

其中,C2=A2+B2。(是两个数的和)

它的第二个工作页内容如下:

其中,A2=Sheet1!A2-Sheet1!B2。(是两个数的差)

我们接下来要做的事情是使用jxl修改Sheet1中A2和B2的值,然后查看Sheet1中C2和Sheet2中A2是否发生了改变。

Java代码:

package com.zifeiy.test.normal;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class Test20181218JxlModifyXls {
	
	// main for test
	public static void main(String[] args) throws IOException, WriteException, BiffException {
		InputStream inputStream = new FileInputStream(new File("D:\\\\\\\\test.xls"));
		Workbook workbook = Workbook.getWorkbook(inputStream);
		
		WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File("D:\\\\test_out.xls"), workbook);
		WritableSheet writableSheet = writableWorkbook.getSheet(0);
		WritableCell writableCell = writableSheet.getWritableCell(0, 1);
		Label label = new Label(0, 1, "1");
		writableSheet.addCell(label);
		WritableCell writableCell2 = writableSheet.getWritableCell(0, 2);
		Label label2 = new Label(1, 1, "2");
		writableSheet.addCell(label2);
		writableWorkbook.write();
		writableWorkbook.close();
		workbook.close();
	}
	
}

可以看到,生成了一个test_out.xls文件,其内容如下:

可以看到,修改了参数之后,公示的结果也跟着改变了。

以上是关于Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响的主要内容,如果未能解决你的问题,请参考以下文章

JAVA利用jxl读取Excel内容

JXL包大解析;Java程序生成excel文件和解析excel文件内容

JXL包大解析;Java程序生成excel文件和解析excel文件内容

Java的jxl写入excel但是原先excel的内容被清空了

使用Java创建Excel,并添加内容

java用jxl读取网页上下载的excel文件,怎么识别?求解答