0

我想将 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();
    }

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

4

0 回答 0