Copy Range Data Only

Copy Range Data Only

This example shows how to:

  1. Create a workbook.
  2. Add data to cells in the first worksheet.
  3. Create a range.
  4. Create a style object with specified formatting attributes.
  5. Apply the style formatting to the range.
  6. Create another range of cells.
  7. Copy data of the first range to this second range by using the Range.copyData method.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyRangeDataOnly.class);
// Instantiate a new Workbook
Workbook workbook = new Workbook();
// Get the first Worksheet Cells
Cells cells = workbook.getWorksheets().get(0).getCells();
// Fill some sample data into the cells
for (int i = 0; i < 50; i++) {
for (int j = 0; j < 10; j++) {
cells.get(i, j).putValue(i + "," + j);
}
}
// Create a range (A1:D3).
Range range = cells.createRange("A1", "D3");
// Create a style object.
Style style = workbook.createStyle();
// Specify the font attribute.
style.getFont().setName("Calibri");
// Specify the shading color.
style.setForegroundColor(Color.getYellow());
style.setPattern(BackgroundType.SOLID);
// Specify the border attributes.
style.getBorders().getByBorderType(BorderType.TOP_BORDER).setLineStyle(CellBorderType.THIN);
style.getBorders().getByBorderType(BorderType.TOP_BORDER).setColor(Color.getBlue());
style.getBorders().getByBorderType(BorderType.BOTTOM_BORDER).setLineStyle(CellBorderType.THIN);
style.getBorders().getByBorderType(BorderType.BOTTOM_BORDER).setColor(Color.getBlue());
style.getBorders().getByBorderType(BorderType.LEFT_BORDER).setLineStyle(CellBorderType.THIN);
style.getBorders().getByBorderType(BorderType.LEFT_BORDER).setColor(Color.getBlue());
style.getBorders().getByBorderType(BorderType.RIGHT_BORDER).setLineStyle(CellBorderType.THIN);
style.getBorders().getByBorderType(BorderType.RIGHT_BORDER).setColor(Color.getBlue());
// Create the styleflag object.
StyleFlag flag = new StyleFlag();
// Implement font attribute
flag.setFontName(true);
// Implement the shading / fill color.
flag.setCellShading(true);
// Implment border attributes.
flag.setBorders(true);
// Set the Range style.
range.applyStyle(style, flag);
// Create a second range (L9:O11)
Range range2 = cells.createRange("L9", "O11");
// Copy the range data only.
range2.copyData(range);
// Save the Excel file.
workbook.save(dataDir + "CopyRangeData.xlsx", SaveFormat.XLSX);