我在使用apache for excel 2007时遇到了问题,使用XSSF
下面有两个代码片段(肥指)。第一种方法似乎有效,因为工作簿在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();编辑:实际上,第一个片段也导致了issue...sometimes?我觉得我做错了什么.有什么建议吗?
发布于 2015-02-18 11:11:20
我也遇到过类似的问题。我认为问题可能在于如何处理意见。在我的例子中,excel文件被Excel报告为“损坏”,每当出现注释时进行转换。Excel修复了文件,并报告它删除了注释部分,其余部分都很好。Excel文件没有注释,但具有相同的处理代码,没有造成任何问题。
很抱歉,这不能解决问题,但也许它提供了一个解决办法。在我的例子中,我以编程方式删除所有评论(丑陋)。
https://stackoverflow.com/questions/14856834
复制相似问题