我想将 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();
}
如果您指出我正确的方向,我将确保使用最终代码更新帖子。我还没有找到任何好的代码示例。