繁体   English   中英

在Apache POI中的shiftRows无法正常工作

[英]shiftRows in apache poi not working

InputStream inp = new FileInputStream("workbook.xls");
HSSFWorkbook wb = new HSSFWorkbook(inp);

String text="";
Sheet sheet1 = wb.getSheetAt(0);

for (Row row : sheet1) {
    for (Cell cell : row) {
        // Do something here
        ExcelExtractor extractor = new ExcelExtractor(wb);
        text=extractor.getText();
        System.out.print("text="+text);
    }
}
sheet1.shiftRows(0,sheet1.getLastRowNum(),1);

调用shiftrows后,我的Excel工作表中没有得到结果。 数据保持不变。 我在哪里做错了?

这是因为您的工作簿仅开放供阅读,因为它来自输入流

InputStream inp = new FileInputStream("workbook.xls");

为了获得结果,您必须将新的工作簿对象写到新的xsl电子表格中。 就像是...

File outWB = new File("workbook2.xls");
OutputStream out = new FileOutputStream(outWB);
wb.write(out);
out.flush();
out.close();

您可以对同一文件执行此操作,但首先需要inp.close()

暂无
暂无

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

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