写一个poi合并多个excel文件的demo
时间: 2023-12-02 19:05:30 浏览: 73
好的,我可以帮您提供一个poi合并多个excel文件的demo。具体操作可以参考以下代码:
```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class MergeExcelDemo {
public static void main(String[] args) {
try {
//获取要合并的所有excel文件
String folderPath = "D:\\excel\\";
File folder = new File(folderPath);
File[] files = folder.listFiles();
//创建新的工作薄
Workbook mergedWorkbook = null;
boolean isXlsx = true; //是否为.xlsx格式
String mergedFilePath = "D:\\excel\\merged.xlsx";
if (mergedFilePath.endsWith(".xls")) {
isXlsx = false;
mergedWorkbook = new HSSFWorkbook();
} else if (mergedFilePath.endsWith(".xlsx")) {
mergedWorkbook = new XSSFWorkbook();
} else {
System.out.println("不支持的文件格式!");
return;
}
//循环读取并合并所有excel文件
for (File file : files) {
FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = null;
if (isXlsx) {
workbook = new XSSFWorkbook(inputStream);
} else {
workbook = new HSSFWorkbook(inputStream);
}
//循环所有工作表
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
Sheet mergedSheet = mergedWorkbook.createSheet(sheet.getSheetName());
//循环所有行
int rowIndex = 0;
for (Row row : sheet) {
Row mergedRow = mergedSheet.createRow(rowIndex);
//循环所有单元格
int columnIndex = 0;
for (Cell cell : row) {
Cell mergedCell = mergedRow.createCell(columnIndex);
mergedCell.setCellValue(cell.getStringCellValue());
columnIndex++;
}
rowIndex++;
}
}
inputStream.close();
}
//输出合并后的文件
FileOutputStream outputStream = new FileOutputStream(mergedFilePath);
mergedWorkbook.write(outputStream);
outputStream.close();
System.out.println("合并成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
使用该demo前,请先引入以下依赖:
```
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)