Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响
2024-09-01 13:48:07
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文件,其内容如下:
可以看到,修改了参数之后,公示的结果也跟着改变了。
最新文章
- About 静态代码块,普通代码块,同步代码块,构造代码块和构造函数的纳闷
- Mysql查询——学习阶段
- getPhysicalNumberOfCells 与 getLastCellNum的区别
- Centos 6.0将光盘作为yum源的设置方法
- AFNetWorking支持解析html的方法
- [译] 用 Swift 创建自定义的键盘
- JavaScript正则表达式(三)
- glOrtho、glFrustum &;&; glPerspective
- 【Search for a Range】cpp
- download 下载文件 IE兼容性处理
- PHP执行linux命令mkdir权限问题
- Java开发知识之JAVA的反射
- vue watch高级用法
- nowcoder172C 保护 (倍增lca+dfs序+主席树)
- IdentityServer4-从数据库获取User进行授权验证(五)
- odoo datetime 直接修改模版语言 去掉时分秒
- 自动化部署-Jenkins+SVN+MSBuild 一些补充
- September 04th 2017 Week 36th Monday
- js 数组函数
- personal evolution
热门文章
- document基本操作 动态脚本-动态样式-创建表格
- bzoj 4922: [Lydsy1706月赛]Karp-de-Chant Number 贪心+dp
- 后缀数组 1031: [JSOI2007]字符加密Cipher
- LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿
- 【原创】go语言之打印目录
- CF1174E Ehab and the Expected GCD Problem(动规+数论+分解)
- postgresql数据的入门教程
- Qt 的插件制作
- Apache Flink - Batch(DataSet API)
- 总结js常用的dom操作(js的dom操作API)