繁体   English   中英

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

[英]excel 2007 unreadable content using apache poi (.xlsx)

我在使用XSSF的excel 2007中使用apache poi遇到问题

我下面有两个代码片段(胖手指)。 第一个似乎有效,因为该工作簿已在excel 2007中正确打开,并且进行了一些更改。

如果运行第二个代码段然后在excel 2007中打开,则会收到有关不可读内容的错误。 我必须单击确认框,然后excel打开我的文件。

为什么第二个代码片段导致此错误? 唯一的区别是在第二个中,我尝试将第2行(零索引)的所有行上移两行...

我真正想做的就是删除一些标题行,然后从文件中删除一些页脚行。 我什么都没做。 我猜想我对API有误解,但是我已经为此花了一段时间了。

有任何想法吗? 我还应该移动行,删除行或两者结合吗?

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();

编辑:实际上,它似乎也表明第一个代码段也引起了问题...有时? 我的印象是我做错了什么...有什么建议吗?

我遇到了类似的问题。 我认为问题可能在于处理评论。 就我而言,每当出现注释时进行了移位,Excel都将excel文件报告为“损坏”。 Excel修复了该文件,并报告说它删除了注释部分,其余的都很好。 没有注释但具有相同处理代码的Excel文件不会引起任何问题。

抱歉,这不能解决问题,但也许可以提供解决方法。 就我而言,我以编程方式(丑陋)删除了所有评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM