热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Java程序中合并和拆分Excel文档

当我们需要储存或者计算大量数据时,常常会使用到Excel文档。一般情况下,一个工作簿中可以存在多个工作表以储存不同类别的数据内容。在分类整理文档时,我们不免会对Excel文档进行一

当我们需要储存或者计算大量数据时,常常会使用到Excel文档。一般情况下,一个工作簿中可以存在多个工作表以储存不同类别的数据内容。在分类整理文档时,我们不免会对Excel文档进行一些操作:例如将Excel文档按照工作表进行拆分;亦或是将同一类型的工作表整合至一个工作簿中。下面我就将介绍通过Free Spire.XLS for Java在Java程序中合并和拆分Excel文档的具体操作方法和代码。


操作前请先安装Free Spire.XLS for Java


方法一:

如果您使用的是maven,可以通过添加以下代码到项目的pom.xml文件中,将 JAR文件导入到应用程序中。



com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/




e-iceblue
spire.xls.free
5.1.0


方法二

如果您没有使用maven,则可以从此链接下载Free Spire.XLS for Java,下载完成后,将下载包进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR文件或路径”(JARs or Directories),找到之前解压好的文件,并将其中的lib文件夹下的Spire.XLS.jar文件导入到项目中。


拆分Excel文档的方法及步骤



  • 首先创建 Workbook 类的对象。

  • 再使用 Workbook.loadFromFile() 方法载入 Excel 文件。

  • 声明一个 Workbook 类的变量用于创建新的工作簿。

  • 遍历工作簿中的所有工作表。

  • 初始化 Workbook 类的对象,并将该工作簿中的一个工作表复制到新的工作簿中。

  • 最后用 Workbook.saveToFile() 方法保存工作簿。

 代码:

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
public class splitWorkbook {
public static void main(String[] args) {
//创建Workbook类的对象
Workbook wb = new Workbook();
//载入Excel文件
wb.loadFromFile("sample.xlsx");
//声明一个Workbook类的变量
Workbook newWb;
//声明一个String类的变量
String sheetName;
//指定生成的Excel文件的保存目录
String folderPath = "output\\";
//遍历工作簿中的所有工作表
for (int i = 0; i ) {
//初始化Workbook类的对象
newWb = new Workbook();
//删除工作簿中的工作表
newWb.getWorksheets().clear();
//将工作簿的工作表复制到新的工作簿中
newWb.getWorksheets().addCopy(wb.getWorksheets().get(i));
//获取工作表的名称
sheetName = wb.getWorksheets().get(i).getName();
//将新工作簿保存到指定的文件夹
newWb.saveToFile(folderPath + sheetName + ".xlsx", FileFormat.Version2013);
}
}
}


 


合并工作簿的方法及步骤



  • 创建一个 String[] 类的对象,并输入要合并的工作簿的地址。

  • 创建一个 Workbook 类的对象。

  • 使用 Workbook.getWorksheets().clear() 方法来删除新建工作簿中的所有工作表。

  • 创建另一个 Workbook 类的对象。

  • 遍历输入工作簿中的工作表,并使用 Workbook.getWorksheets().addCopy() 方法将所有工作表复制到新建的工作簿中。

  • 使用 Workbook.saveToFile() 方法保存新建的工作簿。

代码:

import com.spire.xls.*;
public class mergeWorkbooks {
public static void main(String[] args){
//录入需要合并的Excel文件的路径
String[] inputFiles = new String[]{"output/sheet1.xlsx","output/sheet2.xlsx", "output/sheet3.xlsx"};
//创建Workbook类的对象
Workbook newBook = new Workbook();
//删除新建工作簿中的所有工作表
newBook.getWorksheets().clear();
//创建另一个Workbook类的对象
Workbook tempBook = new Workbook();
//循环遍历Excel工作簿中的工作表,并将所有工作表复制到新建的工作簿中
for (String file : inputFiles)
{
tempBook.loadFromFile(file);
for (Object sheet : (Iterable)tempBook.getWorksheets())
{
newBook.getWorksheets().addCopy((Worksheet) sheet, WorksheetCopyType.CopyAll);
}
}
//保存新建的工作簿
newBook.saveToFile("sample.xlsx", ExcelVersion.Version2013);
}
}



推荐阅读
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • java drools5_Java Drools5.1 规则流基础【示例】(中)
    五、规则文件及规则流EduInfoRule.drl:packagemyrules;importsample.Employ;ruleBachelorruleflow-group ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 数学建模入门python绘制频率直方图
    文章目录例题数据处理绘图操作调用演示例题数据处理将以下的数据保存到磁盘上17275169551696417165167471716216867165521696216865 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
lksxq_468
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有