已解决
aspose.cells java合并多个excel
来自网友在路上 194894提问 提问时间:2023-11-18 16:47:16阅读次数: 94
最佳答案 问答题库948位专家为你答疑解惑
背景
有需求需要把多个excel合并到一个excel文件里面,之前一直都是用python来处理办公自动化的东西,但是这个需求用python的openxyl库处理基本只能合并数据,样式没办法一比一合并过去,找了很多解决方案都没法实现,所以只能另寻途径,在网上找到一个在线合并excel的网站,看了一下他们实现的技术是用aspose.cells的,合并效果不错,但是在线合并一次只能合并10个,并且速度有点慢,所以决定自己用aspose.cells写一个工具类来用,下面贴出合并excel的代码。
依赖
<dependency><groupId>com.luhuiguo</groupId><artifactId>aspose-cells</artifactId><version>23.1</version></dependency>
import com.aspose.cells.Workbook;
import com.aspose.cells.Worksheet;
import com.aspose.cells.WorksheetCollection;import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class demo {public static void main(String[] args) throws Exception {String folderPath = "";Workbook workbook2 = new Workbook();WorksheetCollection worksheets = workbook2.getWorksheets();workbook2.getWorksheets().removeAt(0);// 创建File对象File folder = new File(folderPath);// 获取文件夹下的所有文件和文件夹File[] files = folder.listFiles();Arrays.sort(files, (f1, f2) -> Integer.valueOf(f1.getName().split("、")[0].split("-")[1]).compareTo(Integer.valueOf(f2.getName().split("、")[0].split("-")[1])));// 遍历并打印文件名for (File file : files) {System.out.println(file.getName());String[] split = file.getName().split("、");String regex = "【(.*?)】";// 创建Pattern对象Pattern pattern = Pattern.compile(regex);// 要匹配的字符串String input = file.getName();// 创建Matcher对象Matcher matcher = pattern.matcher(input);ArrayList arrayList = new ArrayList();while (matcher.find()) {
// System.out.println("找到匹配项: " + matcher.group());arrayList.add( matcher.group());}System.out.println(arrayList.get(arrayList.size()-1));String name = arrayList.get(arrayList.size()-1).toString().replace("【","").replace("】","");Workbook workbook = new Workbook(folderPath+file.getName());if (name.length() >= 25){name=name.split("-")[0];}worksheets.add(split[0]+"、"+name);worksheets.get(split[0]+"、"+name).copy(workbook.getWorksheets().get("1-指标清单"));}// 保存Excel文件workbook2.save("output.xlsx");}}
查看全文
99%的人还看了
相似问题
- Office文件在线预览大全-Word文档在线预览的实现方法-OFD文档在线预览-WPS文件在线预览
- 3D电路板在线渲染案例
- ky10 server x86 安装、更新openssl3.1.4(在线编译安装、离线安装)
- 【开题报告】疫苗在线预约小程序的设计与实现
- HarmonyOS从基础到实战-高性能华为在线答题元服务
- 基于Java的在线订票系统
- 【论文阅读】SPARK:针对视觉跟踪的空间感知在线增量攻击
- 在线客服系统源码 聊天记录实时保存 附带完整的搭建教程
- 在线预览excel,luckysheet在vue项目中的使用
- springboot+activiti5.22.0集成Activiti在线流程设计器
猜你感兴趣
版权申明
本文"aspose.cells java合并多个excel":http://eshow365.cn/6-38528-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!