Copier uniquement les données de la plage
Contents
[
Hide
]
Parfois, vous devez copier des données d’une plage de cellules à une autre, en copiant uniquement les données, pas le formatage. Aspose.Cells offre cette fonctionnalité en fournissant la méthode Range.copyData.
Copier uniquement les données de la plage
Cet exemple montre comment :
- Créer un classeur.
- Ajouter des données aux cellules dans la première feuille de calcul.
- Créer une plage.
- Créer un objet de style avec des attributs de mise en forme spécifiés.
- Appliquer la mise en forme de style à la plage.
- Créer une autre plage de cellules.
- Copier les données de la première plage vers cette deuxième plage en utilisant la méthode Range.copyData.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); | |