首页
学习
活动
专区
工具
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), // 为空//什么时候会存储空值

71550

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

55410
  • 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.8K10

    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 POI是Apache软件基金会的开放源码函式库...:一个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.4K30

    JAVA的POI操作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 的工作簿对应POI的HSSFWorkbook对象; 2、  Excel 的工作表对应POI的HSSFSheet...1、 Excel 的工作簿对应POI的XSSFWorkbook对象; 2、 Excel 的工作表对应POI的XSSFSheet对象; 3、 Excel 的行对应POI的XSSFRow对象; 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.5K20

    使用 Apache POI 读写 Excel 文件:Java 实战与深入解析

    下面我们以 .xlsx 文件为例,演示如何逐行读取 Excel 文件中的内容。示例:读取 Excel 文件中的内容import org.apache.poi.ss.usermodel....代码首先打开一个 Excel 文件,然后逐行遍历每个单元格,根据单元格类型分别读取字符串、数字或布尔值。...单元格格式化通过 POI,您可以对 Excel 文件中的单元格进行格式化。例如,设置数字格式、日期格式,或对单元格进行样式处理。...合并单元格POI 还支持合并单元格的操作,常用于生成更加复杂的报表格式。...扩展阅读:Apache POI 官方文档Java 企业级开发中的 Excel 处理☀️建议/推荐你  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java

    27521

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

    / 一个是Apache的POI(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方法的参数为我们提供了对工作表中特定单元格的引用。 第一个参数表示列,第二个参数表示行。

    88320

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

    让我们看看如何通过从Excel文件读取测试数据来创建数据驱动的UI自动化框架。 如何使用Apache POI在Selenium中创建数据驱动框架?...从Selenium中的Excel中 读取和写入数据”中学到了如何使用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 设置一些值到新创建的单元格中。

    29510
    领券