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文件,其内容如下:

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

原文地址:https://www.cnblogs.com/zifeiy/p/10135936.html

时间: 2024-11-07 08:43:18

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

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

PHP读取Excel文件内容

PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader.但是可惜的是不能够支持Excel 2007的格式(.xlsx). PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文

读取Excel文件内容在Web上显示

点击事件代码.cs protected void Button1_Click(object sender, EventArgs e) { string strPath = "d:/test.xls"; string mystring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = '" + strPath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=

java使用Apache POI操作excel文件

官方介绍 HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel 2007 OOXML (.xlsx) file format. 从官方文档中了解到:POI提供的HSSF包用于操作 Excel '97(-2007)的.xls文件,而XSSF包则用于操作

c#用NPOI将excel文件内容读取到datatable数据表中

将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable 1 /// <summary> 2 /// 将excel文件内容读取到DataTable数据表中 3 /// </summary> 4 /// <param name="fileName">文件完整路径名</param> 5 /// <param name=

将Excel文件内容拖拽至ExtJs的Panl

参考地址:http://loianegroner.com/2010/03/importing-an-excel-spreadsheet-into-an-extjs-datagrid-using-datadrop-grid-plugin/ 演示例子:https://github.com/loiane/extjs-grid-dragdrop-excel 将Excel文件内容拖拽至ExtJs的Panl,布布扣,bubuko.com

Python3实现两个Excel文件内容比对

最近在工作中,需要人工比对大量的excel格式报表,刚好刚学了Pyhon入门基础知识,想着写个东西练练手,不但能提高代码编写能力,还能减轻工作量,提高工作效率.说干就干,简单的理了逻辑.首先,将目标表和源表的内容分别写入到字典中,Excel表中不确定有没有字段是唯一值,所以选择了行号作为key值,一行的内容放到list中,然后从源表中取一行去目标表中遍历.想好之后开始敲代码了,在代码编写过程中遇到很多的问题,都是遇到一个查一个.基本的比对功能实现后,就想着在加个日志记录下比对结果.写下此文记录下

JAVA利用JXL导出/生成 EXCEL

/** * 导出导出采暖市场部收入.成本.利润明细表 * @author JIA-G-Y */ public String exporExcel(String str) { String path = str + "收入.成本.利润明细表.xls"; try { List<WholesaleAgreementMaterialExportExcelTemplate> list = agreementDao.selectAllWholeDetails(); // 打开文件 Wr

java 用 jxl poi 进行excel 解析 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 最爱那水货

1 /** 2 * 解析excel文件 ,并把数据放入数组中 格式 xlsx xls 3 * @param path 从ftp上下载到本地的文件的路径 4 * @return 数据数组集合 5 */ 6 public List<String[]> readExcelPublic(String path){ 7 List<String[]> list = new ArrayList<String[]>(); 8 log.info("开始解析"+path