main
黄海 2 years ago
parent ac55b28b9c
commit e87838d13a

@ -0,0 +1,41 @@
package UnitTest;
import cn.hutool.core.io.FileUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.util.UUID;
public class SplitSheet {
public static void main(String[] args) throws Exception {
String filePath = "D:\\单位项目文档\\湘潭项目相关文档\\新需求\\综表_湖南省湘潭市教育局_教育事业综合统计调查_2022_20230116112015608075.xlsx";
// 第一步创建一个webbook对应一个Excel文件
XSSFWorkbook workbook = new XSSFWorkbook(Files.newInputStream(new File(filePath).toPath()));
int sheetCnt = workbook.getNumberOfSheets();
workbook.close();
for (int i = 0; i < sheetCnt; i++) {// 获取每个Sheet表
String tmp = System.getProperty("java.io.tmpdir") + UUID.randomUUID() + ".xlsx";
FileUtil.copyFile(filePath,tmp);
File file = new File(tmp);
XSSFWorkbook wb2 = new XSSFWorkbook(new FileInputStream(file));
for (int j = sheetCnt - 1; j >= 0; j--) {
if (i == j) continue;
wb2.removeSheetAt(j);
}
String sheetName = workbook.getSheetName(i);
String saveFileName = "D:\\单位项目文档\\湘潭项目相关文档\\新需求\\分拆结果\\" + sheetName + ".xlsx";
FileOutputStream fout = new FileOutputStream(saveFileName);
wb2.write(fout);
wb2.close();
fout.close();
file.delete();//删除文件
System.out.println("完成" + (i + 1) + "个,共" + sheetCnt + "个!");
}
System.out.println("恭喜,所有操作成功完成!");
}
}
Loading…
Cancel
Save