如何从 Java 应用程序中的一系列单元格复制数据

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

该技术提示展示了开发人员如何 在 Java 应用程序中的 Excel 工作簿中使用样式复制范围数据 。仅复制区域数据解释了如何将数据从一个单元格区域复制到另一个区域。 Aspose.Cells 还可以复制带有格式的范围。本文介绍了如何完成此任务。 Aspose.Cells 提供了一系列用于处理范围的类和方法,例如 createRange()、StyleFlag、applyStyle() 等。这个例子解释了如何:

  • 创建工作簿。
  • 用数据填充第一个工作表中的多个单元格。
  • 创建一个范围。
  • 创建具有指定格式属性的样式对象。
  • 将样式应用于数据范围。
  • 创建第二个单元格区域。
  • 将具有格式的数据从第一个范围复制到第二个范围。

在工作簿中复制具有样式的数据范围

[爪哇]


 String filePath = "F:/Downloads/source.xlsx";

//Load your source workbook Workbook workbook = new Workbook(filePath);

//0-byte array byte[] workbookData = new byte[0];

//Text save options. You can use any type of separator TxtSaveOptions opts = new TxtSaveOptions(); opts.setSeparator('\t');

//Copy each worksheet data in text format inside workbook data array for (int idx = 0; idx < workbook.getWorksheets().getCount(); idx++) { //Save the active worksheet into text format ByteArrayOutputStream bout = new ByteArrayOutputStream(); workbook.getWorksheets().setActiveSheetIndex(idx); workbook.save(bout, opts);

//Save the worksheet data into sheet data array
byte[] sheetData = bout.toByteArray();

//Combine this worksheet data into workbook data array
byte[] combinedArray = new byte[workbookData.length + sheetData.length];
System.arraycopy(workbookData, 0, combinedArray, 0, workbookData.length);
System.arraycopy(sheetData, 0, combinedArray, workbookData.length, sheetData.length);

workbookData = combinedArray;

}

//Save entire workbook data into file FileOutputStream fout = new FileOutputStream(filePath + ".out.txt"); fout.write(workbookData); fout.close();