Copiar Datos de Rango con Estilo

Copiar datos de rango con estilo

Aspose.Cells proporciona una variedad de clases y métodos para trabajar con rangos, por ejemplo, createRange(), StyleFlag, applyStyle(), etc.

Este ejemplo:

  1. Crea un libro de trabajo.
  2. Rellena un número de celdas en la primera hoja de cálculo con datos.
  3. Crea un rango.
  4. Crea un objeto de estilo con atributos de formato específicos.
  5. Aplica el estilo al rango de datos.
  6. Crea un segundo rango de celdas.
  7. Copia datos con el formato del primer rango al segundo rango.
// 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(CopyRangeDataWithStyle.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 with formatting.
range2.copy(range);
// Save the Excel file.
workbook.save(dataDir + "CopyRangeDataWithFormatting.xlsx", SaveFormat.XLSX);