Apache POI,将xls(excel 2003)转换为xlsx(excel 2007)

时间:2013-05-06 16:09:05

标签: java apache-poi

我想将xls转换为xlsx文件。由于我只有一个选项卡,最好只是迭代行和单元格并将它们从一个工作表复制到另一个工作表? API应该提供设置整个行或表的原因,而不是使用getter和setter逐个复制所有信息吗?

这就是我必须要做的事情:

    InputStream in = new BufferedInputStream(new FileInputStream(inpFn));
    try {
        Workbook wbIn = new HSSFWorkbook(in);
        OPCPackage outPkg = OPCPackage.open(outFn);
        try {
            Workbook wbOut = new XSSFWorkbook(outPkg);
            int sheetCnt = wbIn.getNumberOfSheets();
            for (int i = 0; i < sheetCnt; i++) {
                Sheet s = wbIn.getSheetAt(0);
                Sheet s2 = wbOut.createSheet(s.getSheetName());
                Iterator<Row> rowIt = s.iterator();
                while (rowIt.hasNext()) {
                    Row row = rowIt.next();
                    // ....
                }
            }

        } finally {
            outPkg.close();
        }
    } finally {
        in.close();
    }

如果你指出我正确的方向,我会确保用最终代码更新帖子。我还没有找到任何好的代码示例。

0 个答案:

没有答案