网站首页 > java教程 正文
在操作Excel工作表时,想要复制工作表中某个单元格区域,大多数人会选择使用鼠标点击复制粘贴进行手动操作。但其实有一种方式可以实现自动复制,那就是后台调用Java代码。本文就将使用Free Spire.XLS for Java免费控件来实现用Java代码复制Excel工作表中指定单元格区域。
- 同一个工作表内复制单元格区域
- 跨工作表复制单元格区域
安装Free Spire.XLS for Java
首先,您需要在 Java 程序中添加Spire.Xls.jar文件作为依赖项。您可以从E-iceblue中文官网下载 JAR 文件;如果您使用Maven,则可以通过在pom.xml文件中添加以下代码导入JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>
同一个工作表内复制单元格区域
Free Spire.XLS for Java提供的Worksheet.copy(CellRange sourceRange, CellRange destRange, boolean copyStyle)方法支持将指定单元格区域的数据复制到同一个工作表内的其他指定区域。具体操作步骤如下:
- 创建Workbook实例;
- 使用Workbook.loadFromFile()方法加载Excel示例文档;
- 使用Workbook.getWorksheets().get()方法获取指定工作表;
- 使用Worksheet.getCellRange()方法获取单元格区域;
- 使用Worksheet.copy(CellRange sourceRange, CellRange destRange, boolean copyStyle)方法将数据从源单元格区域复制到目标单元格区域;
- 使用Workbook.saveToFile()方法保存结果文档。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class CopyCellRangeWithinSheet {
public static void main(String[] args) {
//创建Workbook对象
Workbook wb = new Workbook();
//加载一个测试Excel文档
wb.loadFromFile("C:\\Users\\Test1\\Desktop\\sample.xlsx", ExcelVersion.Version2013);
//获取第一个工作表
Worksheet sheet = wb.getWorksheets().get(0);
//在工作表内复制单元格区域
sheet.copy(sheet.getCellRange("A8:H8"),sheet.getCellRange("A20:H20"),true);
//保存文档
wb.saveToFile("output/CopyRangeWithinSheet.xlsx", ExcelVersion.Version2013);
}
}
跨工作表复制单元格区域
Free Spire.XLS for Java支持用同样的方法来将指定单元格区域中的数据复制到其他工作表的指定位置。以下是实现步骤:
- 创建Workbook实例;
- 使用Workbook.loadFromFile()方法加载Excel示例文档;
- 使用Workbook.getWorksheets().get()方法获取源工作表和目标工作表;
- 使用Worksheet.getCellRange()方法获取源单元格区域和目标单元格区域;
- 使用Worksheet.copy(CellRange sourceRange, CellRange destRange, boolean copyStyle)方法将数据从源单元格区域复制到目标单元格区域;
- 使用IWorksheet接口提供的autoFitColumn()和autoFitRow()方法来设置目标工作表的行高列宽;
- 使用Workbook.saveToFile()方法保存结果文档。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class CopyCellRangeBetweenSheets {
public static void main(String[] args) {
//创建Workbook对象
Workbook wb = new Workbook();
//加载一个测试文档
wb.loadFromFile("C:\\Users\\Test1\\Desktop\\sample.xlsx", ExcelVersion.Version2013);
//获取第一个工作表
Worksheet sheet1 = wb.getWorksheets().get(0);
//获取第二个工作表
Worksheet sheet2 = wb.getWorksheets().get(1);
//复制工作表1中的单元格区域到工作表2
sheet1.copy(sheet1.getCellRange("A8:H8"),sheet2.getCellRange("A1:H1"),true);
//在工作表2中设置自适应行高列宽
for (int i = 0; i < 8; i++) {
sheet2.autoFitColumn(i+1);
sheet2.autoFitRow(i+1);
}
//保存文档
wb.saveToFile("output/CopyRangeBetweenSheets.xlsx", ExcelVersion.Version2013);
}
}
猜你喜欢
- 2024-10-08 「开源」阿里出品,可避免OOM的java处理Excel工具包
- 2024-10-08 使用Java实现Excel数据采集及后台统计功能
- 2024-10-08 java百万千万级别excel导出问题(导出慢和Out Of Memory内存溢出)
- 2024-10-08 利用阿里EasyExcel实现Excel读写(阿里云表格识别)
- 2024-10-08 java轻松玩转Excel之EasyExcel(java excelutil)
- 2024-10-08 「开源资讯」MyExcel 3.8.1 版本发布,Excel等多项功能的工具包
- 2024-10-08 Excel神具EasyExcel,常见API(excel.app)
- 2024-10-08 三层-使用NPOI读取Excel文件的数据 183
- 2024-10-08 每天一个入坑小技巧:通过poi、poi-ooxml框架读取不同格式excel
- 2024-10-08 用BxScript读取Excel(读取blob字段)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)