[]
GcExcel Java允许用户从特定区域剪切或复制一个单元格或一系列单元格,并将其粘贴到同一工作表中的另一个区域。您还可以选择是否将数据复制并粘贴到工作表中的隐藏区域。想要了解更多,可以参考 粘贴或在隐藏区域忽略数据。
要跨多表单剪切或复制数据,参考跨工作表剪切或复制。
要从单元格区域剪切或复制数据,可以参考以下章节。
可以通过调用 IRange 接口的 copy 方法复制一个单元格或者是一片区域。 要复制单个单元格或单元格区域,请指定要复制的单元格区域,例如 B3:D12。
GcExcel Java提供了以下不同的方法来使用copy方法。
示例 | 描述 |
---|---|
copy(sheet.getRange["E5"]) | 此方法从单元格区域 B3:D12 复制数据并将数据粘贴到E5 。 |
copy(sheet.getRange["E5:G14"]) | 此方法从单元格区域 B3:D12 复制数据并将数据粘贴到区域E5:G14。 如果复制的单元格区域不符合目标单元格区域,则数据将丢失。 |
要复制工作簿中的单元格区域,请参考以下示例代码:
// Initialize workbook
Workbook workbook = new Workbook();
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
// Set data of PC
worksheet.getRange("A2").setValue("PC");
Object data = new Object[] { "Device", "Quantity", "Unit Price" };
worksheet.getRange("A4:C4").setValue(data);
Object otherData = new Object[][] {
{ "T540p", 12, 9850 }, { "T570", 5, 7460 }, { "Y460", 6, 5400 },
{ "Y460F", 8, 6240 }, };
worksheet.getRange("A5:C10").setValue(otherData);
// Set style
worksheet.getRange("A2").setRowHeight(30);
worksheet.getRange("A2").getFont().setSize(20);
worksheet.getRange("A2").getFont().setBold(true);
worksheet.getRange("A4:C4").getFont().setBold(true);
worksheet.getRange("A4:C4").getFont().setColor(Color.GetWhite());
worksheet.getRange("A4:C4").getInterior().setColor(Color.GetLightBlue());
worksheet.getRange("A5:C10").getBorders()
.get(BordersIndex.InsideHorizontal).setColor(Color.GetOrange());
worksheet.getRange("A5:C10").getBorders()
.get(BordersIndex.InsideHorizontal)
.setLineStyle(BorderLineStyle.DashDot);
// Copy only style and row height from cells A2:C10
worksheet.getRange("H1").setValue("Copy style and row height from previous cells.");
worksheet.getRange("H1").getFont().setColor(Color.GetRed());
worksheet.getRange("H1").getFont().setBold(true);
worksheet.getRange("A2:C10").copy(worksheet.getRange("H2"), EnumSet.of(PasteType.Formats));
// Set data of mobile devices
worksheet.getRange("H2").setValue("Mobile");
// Object data = new Object[] {"Device", "Quantity", "Unit Price" };
worksheet.getRange("H4:J4").setValue(data);
Object otherDataRange = new Object[][] {
{ "T540p", 12, 9850 }, { "T570", 5, 7460 }, { "Y460", 6, 5400 },
{ "Y460F", 8, 6240 }, };
worksheet.getRange("H5:J10").setValue(otherDataRange);
// Add new sheet
IWorksheet worksheet2 = workbook.getWorksheets().add();
// Copy only style of Cell A2:C10 to new sheet
worksheet.getRange("A2:C10")
.copy(worksheet2.getRange("A2"), EnumSet.of(PasteType.Formats));
worksheet2.getRange("A3").setValue("Copy style from sheet1.");
worksheet2.getRange("A3").getFont().setColor(Color.GetRed());
worksheet2.getRange("A3").getFont().setBold(true);
// Saving workbook to xlsx
workbook.save("PasteOptionsEnhancements.xlsx", SaveFileFormat.Xlsx);
可以调用IRange 接口的 cut 方法剪切一个单元格或者是单元格区域。 要剪切单元格或单元格区域,请指定要移动的单元格区域,例如 B3:D12。
GCExcelJava提供了以下不同的方法来使用cut方法。
示例 | 描述 |
---|---|
cut(sheet.getRange["E5"]) | 此方法从单元格区域B3:D12中剪切数据并粘贴到单元格 E5 。 |
cut(sheet.getRange["E5:G14"]) | 此方法从单元格区域B3:D12中剪切数据并粘贴到单元格区域 E5:G14。 如果剪切的单元格区域不适合目标单元格区域,则数据将丢失。 |
请参考以下示例代码以剪切工作簿中的单元格区域。
IRange range1 = worksheet2.getRange("E5");
// Cut the data of the range of cell
worksheet.getRange("B3:D12").cut(range1);
// OR
IRange range1 = worksheet2.getRange("E5;G14");
worksheet.getRange("B3:D12").cut(range1);