返回

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

发布时间:2023-01-14 23:30:45 303
# java# java# 数据

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

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

方法一:

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

<repositories>
<repository>

<id>com.e-iceblue</id>

<url>https://repo.e-iceblue.cn/repository/maven-public/
</repository>
</repositories>
<dependencies>
<dependency>

<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>

<version>5.1.0</version>
</dependency>
</dependencies>

方法二:

如果您没有使用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 < wb.getWorksheets().getCount(); 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);
}
}

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
一个爬取图片的小脚本 2023-01-14 23:05:10