java 复制sheet
时间: 2023-08-06 10:06:04 浏览: 42
要在 Java 中复制 Excel 工作表(sheet),可以使用 Apache POI 库。下面是一个简单的示例代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
public class CopySheetExample {
public static void main(String[] args) throws Exception {
String inputFile = "input.xlsx";
String outputFile = "output.xlsx";
int sheetIndexToCopy = 0;
int sheetIndexToInsert = 1;
// 读取输入文件
FileInputStream inputStream = new FileInputStream(inputFile);
Workbook inputWorkbook = WorkbookFactory.create(inputStream);
Sheet sheetToCopy = inputWorkbook.getSheetAt(sheetIndexToCopy);
// 创建输出文件
Workbook outputWorkbook = WorkbookFactory.create(true);
Sheet sheetToInsert = outputWorkbook.createSheet();
// 复制工作表
int rowCount = sheetToCopy.getLastRowNum();
for (int i = 0; i <= rowCount; i++) {
Row row = sheetToCopy.getRow(i);
Row newRow = sheetToInsert.createRow(i);
int cellCount = row.getLastCellNum();
for (int j = 0; j < cellCount; j++) {
newRow.createCell(j).setCellValue(row.getCell(j).getStringCellValue());
}
}
// 插入工作表
outputWorkbook.setSheetName(sheetIndexToInsert, sheetToCopy.getSheetName());
outputWorkbook.setSheetOrder(sheetToCopy.getSheetName(), sheetIndexToInsert);
// 保存输出文件
FileOutputStream outputStream = new FileOutputStream(outputFile);
outputWorkbook.write(outputStream);
outputStream.close();
}
}
```
在这个示例中,我们从一个名为 `input.xlsx` 的文件中读取第一个工作表,并将其复制到一个新创建的工作簿中的第二个位置。最后,我们将结果保存到名为 `output.xlsx` 的文件中。