|
|
@ -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("恭喜,所有操作成功完成!");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|