有一个包含单张表的excel文件,其中包含以下内容:
Date |Task |Hrs
-----|-----|---
Date1 | Task1 | 2
----- | ----- | -
Date2 | Task2 | 2
我需要创建另一张表并将sheet1的内容复制到它。
以下是代码段:
FileInputStream fis = new FileInputStream(fileName);
wb = WorkbookFactory.create(fis);
Sheet shOld = wb.getSheet(srcSheetName);
Sheet shNew = wb.createSheet("Sheet2");
int rc = shOld.getLastRowNum();
Row r = shOld.getRow(0);
int cc = r.getLastCellNum();
for(int i =0; i<=rc;i++){
r = shOld.getRow(i);
for(int j=0; j<cc;j++){
String temp = r.getCell(j, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK).getStringCellValue();
shNew.createRow(i).createCell(j).setCellValue(temp);
}
FileOutputStream fos = new FileOutputStream(fileName);
wb.write(fos);
运行程序后,我看到只有最后一列被复制到Sheet2。也就是说,sheet2看起来像这样:
| | Hrs
---- |----- |----
| | 2
-----|----- |----
| | 2