当前位置: 首页 > 知识库问答 >
问题:

使用apache poi(.xlsx)的excel 2007无法读取的内容

章建木
2023-03-14

我使用apache poi for Excel2007使用XSSF时遇到了问题

有什么想法吗?我是否应该移动行,或者移除行,或者两者的组合?

String filename = "C:\\file.xlsx";
FileInputStream file = new FileInputStream( new File(fileName) );

XSSFWorkbook wb = new XSSFWorkbook(file);

XSSFSheet sheet = wb.getSheetAt(0);
int lastRow = sheet.getlastRow();

sheet.shiftRows(1, lastRow, -1);


file.close()
FileOutputStream out = new FileOutputStream(fileName);
wb.write(out);
out.flush();
out.close();
String filename = "C:\\file.xlsx";
FileInputStream file = new FileInputStream( new File(fileName) );

XSSFWorkbook wb = new XSSFWorkbook(file);

XSSFSheet sheet = wb.getSheetAt(0);
int lastRow = sheet.getlastRow();

sheet.shiftRows(2, lastRow, -2);


file.close()
FileOutputStream out = new FileOutputStream(fileName);
wb.write(out);
out.flush();
out.close();

编辑:实际上,第一个片段也引起了一个问题...有时????我觉得我做错了什么...有什么建议吗?

共有1个答案

梁丘威
2023-03-14

我遇到过类似的问题。我认为问题可能出在评论的处理上。在我的例子中,当注释存在时,只要完成一个移位,excel就会将excel文件报告为“损坏”。Excel修复了该文件,并报告说删除了备注部分,其余部分没事。没有注释但处理代码相同的Excel文件,没有造成任何问题。

很抱歉,这不能解决问题,但也许它提供了一个变通方法。在我的例子中,我以编程方式删除了所有注释(很难看)。

 类似资料:
  • 我已经编写了用于编写xlsm(Excel2007)的java文件。 使用ApachePOI库,编写xlsx文件是成功的。编写xlsm文件是成功的。但我无法打开xlsm文件,因为打开xlsm文件时出错。 使用ApachePOI库编写xlsm文件可行吗? 如果可以编写xlsm,请提供如何使用ApachePOI库编写xlsm文件的指南。 谢谢

  • 我正在使用以下命令读取文件: 我在网上尝试了各种解决方案,它们告诉我要排除某些工件,例如:stax-api和stax。但所有的解决办法似乎都不奏效。

  • 本文向大家介绍python读取xlsx的方法,包括了python读取xlsx的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇python读取xlsx的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我正在写一个程序,它需要从excel文件中读取和写入数据,而不考虑格式(xls或xlsx)。 我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。 任何人都知道我将如何实现我在这里的目标。(也欢迎使用POI以外的API的想法)。

  • 因此,我一直在使用Python3.2和OpenPyXL的iterable工作簿,如这里的“优化阅读器”示例所示。 当我尝试使用此策略读取从简单文档中提取的一个或多个文件时,就会出现问题。zip存档(手动和通过python zipfile包)。当我调用我得到“A”和我得到1,当要求打印每个单元格的值时,如下所示: 它打印A1、A2、A3、A4、A5、A6和A7中的值,而不管文件实际有多大。文件本身没

  • 介绍 在标准的ExcelReader中,如果数据量较大,读取Excel会非常缓慢,并有可能造成内存溢出。因此针对大数据量的Excel,Hutool封装了Sax模式的读取方式。 Excel07SaxReader只支持Excel2007格式的Sax读取。 使用 定义行处理器 首先我们实现一下RowHandler接口,这个接口是Sax读取的核心,通过实现handle方法编写我们要对每行数据的操作方式(比