首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache Poi -不重新计算现有工作簿中存在错误的单元格中的值

Apache POI是一个用于操作Microsoft Office格式文件(如Word、Excel和PowerPoint)的Java库。它提供了一组API,可以读取、写入和修改这些文件。

Apache POI的主要功能是处理Excel文件,其中包括对现有工作簿中的单元格进行操作。当工作簿中存在错误的单元格时,Apache POI可以提供一种方法来处理这些错误。

在Apache POI中,可以使用公式求值器(FormulaEvaluator)来重新计算工作簿中存在错误的单元格中的值。公式求值器可以解析和计算Excel中的公式,并将结果应用于相应的单元格。通过重新计算这些单元格的值,可以修复存在错误的单元格。

Apache POI提供了一些类和方法来操作工作簿中的单元格和公式。可以使用Cell类来获取和设置单元格的值,使用FormulaEvaluator类来重新计算公式的值。此外,还可以使用Workbook类来打开、创建和保存Excel文件。

Apache POI的优势在于它是一个开源的Java库,具有广泛的社区支持和活跃的开发。它提供了丰富的功能和灵活的API,可以满足各种Excel文件处理的需求。此外,Apache POI还提供了详细的文档和示例代码,方便开发人员学习和使用。

对于使用Apache POI处理Excel文件中存在错误的单元格,可以按照以下步骤进行操作:

  1. 使用Workbook类打开Excel文件:
代码语言:txt
复制
Workbook workbook = WorkbookFactory.create(new File("path/to/excel.xlsx"));
  1. 获取要处理的工作表和单元格:
代码语言:txt
复制
Sheet sheet = workbook.getSheet("Sheet1");
Cell cell = sheet.getRow(0).getCell(0);
  1. 使用FormulaEvaluator重新计算单元格的值:
代码语言:txt
复制
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
evaluator.evaluate(cell);
  1. 获取重新计算后的单元格值:
代码语言:txt
复制
CellValue cellValue = evaluator.evaluate(cell);
if (cellValue.getCellType() == CellType.NUMERIC) {
    double value = cellValue.getNumberValue();
    // 处理重新计算后的值
} else if (cellValue.getCellType() == CellType.STRING) {
    String value = cellValue.getStringValue();
    // 处理重新计算后的值
}
  1. 保存修改后的Excel文件:
代码语言:txt
复制
workbook.write(new FileOutputStream("path/to/modified.xlsx"));
workbook.close();
相关搜索:计算单元格中的所有公式单元格- java Apache poi计算单独工作簿中的工作表数量并返回到原始工作簿中的单元格使用apache POI将hashmap的每个元素(键-值对)写入同一工作簿中的不同excel工作表发现使用Apache POI在Excel工作簿中再添加一个工作表的困难从目录中已关闭的工作簿中获取单元格值-如何遍历所有现有文件?根据单元格值将工作簿中的工作表复制并粘贴到其他工作簿如何根据单元格值链接到工作簿中的工作表?如果存在,则将HTML表格数据导出到现有工作簿的新工作表中,否则更新该现有工作表VBA中工作簿工作表的最后一个单元格运行错误如何使用Apache POI为.xlsx文件中的所有单元格返回空值?使用apache poi从excel文件中的特定列中筛选特定单元格值?在工作簿1(A列)和工作簿2(A列)中查找匹配的单元格值;粘贴相应的数据VBA比较两个不同工作簿中的单元格值如果工作簿中每个工作表的前5行不包含值,请将其删除复制-将工作表保存在以同一工作表中某些特定单元格的内容命名的新工作簿中将多个工作簿中的数据合并到一个母版中。不匹配错误Python3 openpyxl将包含特定值的行中的数据复制到现有工作簿中的新工作表VBA从已关闭工作簿中的命名单元格返回单元格值基于另一个工作簿中的单元格值运行过程基于另一个工作簿中的单元格值自动筛选
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 基于Apache POI实现Excel读写操作

,请清理掉,从没填过,那么cell=null,合并单元格被当做一个单元格 break; case NUMERIC: //数字...POI创建工作簿API有3种: HSSFWorkbook: 此API用于操作Excel 2003及之前版本(文件扩展名.xls),优点是导出速度快,缺点是导出行数有局限性,最多为65535行,...被写入到硬盘里数据行是不可见/不可访问。只有还保存在内存里才可以被访问到。...CellType getCellType(); 返回类型为CellType,在org.apache.poi.ss.usermodel.CellType定义,它是一个枚举类型,源码如下: public..., // // 数字(整数、小数、日期) STRING(1), FORMULA(2), // 公式,即单元格内容通过公式计算出来 BLANK(3), // 为空//什么时候会存储空

60050

POI操作Excel入门案例(Spring boot)

三、常用方法 1、HSSFWorkbook :工作簿,代表一个excel整个文档 HSSFWorkbook():创建一个新工作簿 HSSFWorkbook(InputStream inputStream...):创建一个关联输入流工作簿,可以将一个excel文件封装成工作簿 HSSFSheet createSheet(String sheetname):创建一个新Sheet HSSFSheet getSheet...字符串、数字、布尔等 setCellStyle():设置单元格样式 String getStringCellValue():获取单元格字符串 setCellStyle(HSSFCellStyle...style):设置单元格样式,例如字体、加粗、格式化 setCellFormula(String formula):设置计算公式,计算结果作为单元格,也提供了异常常用函数,如求和"sum...:导入EXCEL表格 从本地导入EXCEL表格内容,并将结果封装到List集合,为了方便阅读,这里把异常都抛出,实际情况下,应该对异常进行捕获,并进行处理; import org.apache.poi.hssf.usermodel.HSSFRow

50710
  • Apache POI使用详解

    一 :简介 开发中经常会设计到excel处理,如导出Excel,导入Excel到数据库,操作Excel目前有两个框架,一个是apache poi, 另一个是 Java Excel Apache...常用类和方法 HSSFWorkbook :工作簿,代表一个excel整个文档 HSSFWorkbook(); // 创建一个新工作簿 HSSFWorkbook(InputStream inputStream...(); 设置单元格类型,如 字符串、数字、布尔等 setCellStyle(); 设置单元格样式 String getStringCellValue(); 获取单元格字符串 setCellStyle...(HSSFCellStyle style); 设置单元格样式,例如字体、加粗、格式化 setCellFormula(String formula); 设置计算公式,计算结果作为单元格,也提供了异常常用函数...HSSFFooter :Sheet尾部 HSSFDateUtil :日期工具 HSSFPrintSetup :打印设置 HSSFErrorConstants:错误信息表 Excel工作簿工作

    4.2K10

    Excel表格写入读取

    我们要知道一个Excel文件(工作簿)包含三部分,分别是工作表(sheet),行(row),列(cell) 工作簿 工作簿对应类是 XSSFWorkbook(2007之后),在2007之前对应类是...一般工作表都是在工作簿基础上创建,因此构造函数也用不到,所以这里就不多说了 常用方法 int addMergedRegion(CellRangeAddress region) 合并单元格...style) 将设置风格样式添加到单元格,否则将不会起作用 列 列对应类为XSSFCell,2007之前对应是HSSFCell 常用单元格类型 常用单元格类型有字符串,数字...数字(浮点,整型) CELL_TYPE_BOOLEAN 布尔(True,FALSE) 常用方法 int getCellType()获取单元格类型 可以和常用单元格类型进行比较,然后使用不同读取方法读取...double getNumericCellValue() 读取单元格数字类型内容 boolean getBooleanCellValue() 获取单元格布尔类型内容

    1.4K20

    【在线教育】POI入门

    xls 文件读操作 3.2.5 xlsx 文件读操作 3.2.6 读取不同类型数据 3.POI入门(了解) 3.1 POI 概述 3.1.1 简介 Apache POIApache软件基金会开放源码函式库...:一个excel文件,就是一个工作簿 工作表:一个工作簿,可以所有多个工作表Sheet 行:每一个工作表,包含多行row 单元格:每行有多个单元格Cell组成。...; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook...工作簿        Workbook workbook = new HSSFWorkbook(); ​        // 在Excel工作簿建一工作表,其名为缺省 Sheet0        ...工作簿        Workbook workbook = new XSSFWorkbook(); ​        // 在Excel工作簿建一工作表,其名为缺省 Sheet0

    1.3K30

    JAVAPOI操作Excel

    1.1Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿可以创建多张工作表sheet,而一个工作包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成...官网:http://poi.apache.org ,POI支持office所有版本,所以选择POI来讲解。...1.3 POI Hello World 在POI包中有如下几个主要对象和excel几个对象对应: HSSFWorkbook Excel 工作簿workbook HSSFSheet Excel 工作表...()); 1.4  POI与Excel 通过上门例子我们知道如下信息: 1、  Excel 工作簿对应POIHSSFWorkbook对象; 2、  Excel 工作表对应POIHSSFSheet...1、 Excel 工作簿对应POIXSSFWorkbook对象; 2、 Excel 工作表对应POIXSSFSheet对象; 3、 Excel 行对应POIXSSFRow对象; 4、 Excel

    1.3K20

    Apache POI与easyExcel:Excel文件导入导出技术深度分析

    在导入Excel文件时,Apache POI会将整个文件加载到内存,然后提供API来访问和操作文件各个元素,如单元格、行、列等。...} // 辅助方法:根据单元格类型获取单元格 private static String getCellValue(Cell cell) {...1.2 poi实现写入excel 当使用Apache POI写入.xlsx格式Excel文件时,您需要创建一个XSSFWorkbook对象来表示整个工作簿,然后在其中创建XSSFSheet对象来表示工作表...接下来,您可以在工作创建行和单元格,并设置它们。最后,将工作簿写入到文件系统。...(0); // 在行创建单元格(从0开始计数),并设置 Cell cell = row.createCell(0); cell.setCellValue

    1.2K20

    《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)

    / 一个是ApachePOI(Poor Obfuscation Implementation)官网地址:http://poi.apache.org/ POI支持微软OLE2格式文件Office 2003...\\Files\\test-data1.xls"); try { //从指定位置文件创建工作簿对象;根据计算机上位置更改文件路径。...\\Files\\test-data1.xlsx")); //获取工作簿第一个工作引用 Sheet sheet1 = wrk1.getSheet(...getContents()方法获取单元格内容,返回为一个字符串 String str_colArow1 = colArow1.getContents();...Sheet sheet1 = wrk1.getSheet(0); 3)下面的代码根据传递给getCell方法参数为我们提供了对工作特定单元格引用。 第一个参数表示列,第二个参数表示行。

    86820

    数据驱动框架(Apache POI – Excel)

    让我们看看如何通过从Excel文件读取测试数据来创建数据驱动UI自动化框架。 如何使用Apache POI在Selenium创建数据驱动框架?...从SeleniumExcel 读取和写入数据”中学到了如何使用Apache POI在Excel文件读取和写入数据,然后将与测试数据相同数据集传递给Selenium测试。...ExcelUtils类–这是一个实用程序类,它将包含与Excel Sheet读写操作以及初始化工作簿有关所有方法。然后,您可以通过创建Excel Utils类对象在不同测试用例重用这些方法。...该类代码如下: import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow;...,例如setExcelFile 初始化Excel 工作簿,getCellValue 检索文件特定单元格存在,setCellValue 设置一些到新创建单元格

    27410

    POI和EasyExcel-你还在为导入导出数据苦恼吗?

    、打印报表、月销售情况、成绩单等等(导出数据),还有将excel信息录入到网站数据库等(导入数据),我们不可能手动操作,所以介绍ApachePOI和阿里巴巴EasyExcel。...POI ---- Apache POIApache软件基金会开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写功能。...官网https://poi.apache.org/ xls和xlsx 首先注意下xls(2003版)和xlsx(2007版)区别,都是excel格式,后缀名不同。...对象说明 java是面向对象编程,那么excel操作也是对应到具体对象,即工作簿工作表,行和列。 ?...其中需要注意工作簿(Workbook)接口下实现类区别,HSSF是03版,XSSF是07版,SXSSF是07优化(提升速度) 其余如word等导入依赖照葫芦画瓢 ? ?

    4.7K11

    POI组件基本使用

    Apache POI 基本介绍 Apache POIApache 软件基金会提供 100% 开源库。支持 Excel 库所有基本功能。 ?...基本概念 在 POI ,Workbook代表着一个 Excel 文件(工作簿),Sheet代表着 Workbook 一个表格,Row 代表 Sheet 一行,而 Cell 代表着一个单元格。...该操作主要涉及 Excel 创建及使用流输出操作,在 Excel 创建过程,可能还涉及到单元格样式操作。...* @param type Excel 生成方式 * @return 对应 type 工作簿实例对象 * @throws Exception 反射生成对象时出现异常...我们并没有对方法 type 属性进行限制,即外部可以传来任何类似“a”、“b”这样无效,届时程序会抛出异常,可以使用静态常量或枚举类来限定,这样可以增强代码可读性和健壮性。

    1.4K191
    领券