Plages nommées
Création d’une plage nommée
Utilisation d’Excel Microsoft
Les étapes suivantes décrivent comment nommer une cellule ou une plage de cellules à l’aide de Microsoft Excel. Cette méthode s’applique à Microsoft Office Excel 2003, Microsoft Excel 97, 2000 et 2002.
- Sélectionnez la cellule, la plage de cellules que vous souhaitez nommer.
- Cliquez sur la zone de nom à l’extrémité gauche de la barre de formule.
- Tapez le nom des cellules.
- Appuyez sur Entrée.
En utilisant Aspose.Cells
Ici, nous utilisons le Aspose.Cells API pour effectuer la tâche.
Aspose.Cells fournit une classe,Cahier , qui représente un fichier Excel Microsoft. LeCahier classe contient unWorksheetCollection qui permet d’accéder à chaque feuille de calcul dans un fichier Excel. Une feuille de calcul est représentée par leFeuille de travail classe. LeFeuille de travail la classe offre uneCellsle recueil.
Il est possible de créer une plage nommée en appelant le surchargécreateRange méthode de laCells le recueil. Une version typique ducreateRange prend les paramètres suivants :
- Nom de la cellule supérieure gauche, nom de la cellule supérieure gauche de la plage.
- Nom de la cellule inférieure droite, nom de la cellule inférieure droite de la plage.
Quand lecreateRange est appelée, elle renvoie la plage nommée nouvellement créée en tant qu’instance deIntervalle classe.
L’exemple suivant montre comment créer une plage de cellules nommée qui s’étend sur B4:G14.
// 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.getSharedDataDir(CreateNamedRangeofCells.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Accessing the first worksheet in the Excel file | |
Worksheet sheet = worksheets.get(0); | |
Cells cells = sheet.getCells(); | |
// Creating a named range | |
Range namedRange = cells.createRange("B4", "G14"); | |
namedRange.setName("TestRange"); | |
// Saving the modified Excel file in default (that is Excel 2000) format | |
workbook.save(dataDir + "CNROfCells_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |
Accéder à toutes les plages nommées dans une feuille de calcul
Appeler legetNamedRanges méthode de laWorksheetCollection pour obtenir toutes les plages nommées dans une feuille de calcul. LegetNamedRanges renvoie un tableau de toutes les plages nommées dans leWorksheetCollection.
L’exemple suivant montre comment accéder à toutes les plages nommées dans un classeur.
// 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.getSharedDataDir(AccessAllNamedRanges.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Accessing the first worksheet in the Excel file | |
Worksheet sheet = worksheets.get(0); | |
Cells cells = sheet.getCells(); | |
// Getting all named ranges | |
Range[] namedRanges = worksheets.getNamedRanges(); | |
// Print message | |
System.out.println("Number of Named Ranges : " + namedRanges.length); |
Accéder à une plage nommée spécifique
Appeler leWorksheetCollection de la collectiongetRangeByName pour obtenir une plage spécifiée par nom. Un typiquegetRangeByName prend le nom de la plage nommée et renvoie la plage nommée spécifiée en tant qu’instance de laIntervalleclasse.
L’exemple suivant montre comment accéder à une plage spécifiée par son nom.
// 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.getSharedDataDir(AccessSpecificNamedRange.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Accessing the first worksheet in the Excel file | |
Worksheet sheet = worksheets.get(0); | |
Cells cells = sheet.getCells(); | |
// Getting the specified named range | |
Range namedRange = worksheets.getRangeByName("TestRange"); | |
// Print message | |
System.out.println("Named Range : " + namedRange.getRefersTo()); |
Identifier Cells dans une plage nommée
En utilisant Aspose.Cells, vous pouvez insérer des données dans les cellules individuelles d’une plage. Supposons que vous ayez une plage de cellules nommée, c’est-à-dire A1:C4. Ainsi, la matrice ferait 4 * 3 = 12 cellules et les cellules de plage individuelles sont disposées séquentiellement. Aspose.Cells vous fournit des propriétés utiles de la classe Range pour accéder aux cellules individuelles de la plage. Vous pouvez utiliser les méthodes suivantes pour identifier les cellules de la plage :
- getFirstRow renvoie l’index de la première ligne de la plage nommée.
- getFirstColumnrenvoie l’index de la première colonne de la plage nommée.
L’exemple suivant montre comment saisir des valeurs dans les cellules d’une plage spécifiée.
// 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.getSharedDataDir(IdentifyCellsinNamedRange.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Accessing the first worksheet in the Excel file | |
Worksheet sheet = worksheets.get(0); | |
Cells cells = sheet.getCells(); | |
// Getting the specified named range | |
Range range = worksheets.getRangeByName("TestRange"); | |
// Identify range cells. | |
System.out.println("First Row : " + range.getFirstRow()); | |
System.out.println("First Column : " + range.getFirstColumn()); | |
System.out.println("Row Count : " + range.getRowCount()); | |
System.out.println("Column Count : " + range.getColumnCount()); |
Données d’entrée dans le Cells dans la plage nommée
En utilisant Aspose.Cells, vous pouvez insérer des données dans les cellules individuelles d’une plage. Supposons que vous ayez une plage de cellules nommée, c’est-à-dire H1: J4. Ainsi, la matrice ferait 4 * 3 = 12 cellules et les cellules de plage individuelles sont disposées séquentiellement. Aspose.Cells vous fournit des propriétés utiles de la classe Range pour accéder aux cellules individuelles de la plage. Vous pouvez utiliser les propriétés suivantes pour identifier les cellules de la plage :
- getFirstRowrenvoie l’index de la première ligne de la plage nommée.
- getFirstColumnrenvoie l’index de la première colonne de la plage nommée.
L’exemple suivant montre comment saisir des valeurs dans les cellules d’une plage spécifiée.
// 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.getSharedDataDir(InputDataInCellsInRange.class) + "data/"; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the workbook. | |
Worksheet worksheet1 = workbook.getWorksheets().get(0); | |
// Create a range of cells and specify its name based on H1:J4. | |
Range range = worksheet1.getCells().createRange("H1:J4"); | |
range.setName("MyRange"); | |
// Input some data into cells in the range. | |
range.get(0, 0).setValue("USA"); | |
range.get(0, 1).setValue("SA"); | |
range.get(0, 2).setValue("Israel"); | |
range.get(1, 0).setValue("UK"); | |
range.get(1, 1).setValue("AUS"); | |
range.get(1, 2).setValue("Canada"); | |
range.get(2, 0).setValue("France"); | |
range.get(2, 1).setValue("India"); | |
range.get(2, 2).setValue("Egypt"); | |
range.get(3, 0).setValue("China"); | |
range.get(3, 1).setValue("Philipine"); | |
range.get(3, 2).setValue("Brazil"); | |
// Save the excel file. | |
workbook.save(dataDir + "IDICInRange_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |
Plages de format… Définition de la couleur d’arrière-plan et des attributs de police dans une plage nommée
Pour appliquer le formatage, définissez unStyle objet pour spécifier les paramètres de style et les appliquer à l’objetIntervalleobjet.
L’exemple suivant montre comment définir une couleur de remplissage unie (couleur d’ombrage) avec des paramètres de police sur une plage.
// 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.getSharedDataDir(FormatRanges1.class) + "data/"; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the book. | |
Worksheet WS = workbook.getWorksheets().get(0); | |
// Create a named range of cells. | |
com.aspose.cells.Range range = WS.getCells().createRange(1, 1, 1, 17); | |
range.setName("MyRange"); | |
// Declare a style object. | |
Style stl; | |
// Create the style object with respect to the style of a cell. | |
stl = WS.getCells().get(1, 1).getStyle(); | |
// Specify some Font settings. | |
stl.getFont().setName("Arial"); | |
stl.getFont().setBold(true); | |
// Set the font text color | |
stl.getFont().setColor(Color.getRed()); | |
// To Set the fill color of the range, you may use ForegroundColor with | |
// solid Pattern setting. | |
stl.setBackgroundColor(Color.getYellow()); | |
stl.setPattern(BackgroundType.SOLID); | |
// Apply the style to the range. | |
for (int r = 1; r < 2; r++) { | |
for (int c = 1; c < 18; c++) { | |
WS.getCells().get(r, c).setStyle(stl); | |
} | |
} | |
// Save the excel file. | |
workbook.save(dataDir + "FormatRanges1_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |
Formater les plages… Ajouter des bordures à une plage nommée
Il est possible d’ajouter des bordures à une plage de cellules au lieu d’une seule cellule. LeIntervalle l’objet fournit un[setOutlineBorders](https://reference.aspose.com/cells/java/com.aspose.cells/range#setOutlineBorders(int,%20com.aspose.cells.Color)qui prend les paramètres suivants pour ajouter une bordure à la plage de cellules :
- borderStyle : le type de bordure, sélectionné dans leCellBorderTypeénumération.
- borderColor : la couleur de ligne de la bordure, sélectionnée dans leCouleur énumération.
L’exemple suivant montre comment définir une bordure de contour sur une plage.
// 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.getSharedDataDir(FormatRanges2.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Workbook object | |
// Obtaining the reference of the newly added worksheet | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = worksheet.getCells().get("A1"); | |
// Adding some value to the "A1" cell | |
cell.setValue("Hello World From Aspose"); | |
// Creating a range of cells starting from "A1" cell to 3rd column in a | |
// row | |
Range range = worksheet.getCells().createRange("A1:C1"); | |
range.setName("MyRange"); | |
// Adding a thick outline border with the blue line | |
range.setOutlineBorders(CellBorderType.THICK, Color.getBlue()); | |
// Saving the Excel file | |
workbook.save(dataDir + "FormatRanges2_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |
La sortie suivante serait générée après l’exécution du code ci-dessus :
Appliquer un style aux cellules d’une plage
Parfois, vous voulez créer appliquer un style aux cellules d’unIntervalle . Pour cela, vous pouvez parcourir les cellules de la plage et utiliser leCell.setStyle pour appliquer le style à la cellule.
L’exemple suivant montre comment appliquer des styles aux cellules d’une plage.
// 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.getSharedDataDir(ConvertCellsAddresstoRangeorCellArea.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the newly added worksheet | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = worksheet.getCells().get("A1"); | |
// Adding some value to the "A1" cell | |
cell.setValue("Hello World!"); | |
// Creating a range of cells based on cells Address. | |
Range range = worksheet.getCells().createRange("A1:F10"); | |
// Specify a Style object for borders. | |
Style style = cell.getStyle(); | |
// Setting the line style of the top border | |
style.setBorder(BorderType.TOP_BORDER, CellBorderType.THICK, Color.getBlack()); | |
style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.THICK, Color.getBlack()); | |
style.setBorder(BorderType.LEFT_BORDER, CellBorderType.THICK, Color.getBlack()); | |
style.setBorder(BorderType.RIGHT_BORDER, CellBorderType.THICK, Color.getBlack()); | |
Iterator cellArray = range.iterator(); | |
while (cellArray.hasNext()) { | |
Cell temp = (Cell) cellArray.next(); | |
// Saving the modified style to the cell. | |
temp.setStyle(style); | |
} | |
// Saving the Excel file | |
workbook.save(dataDir + "CCAToROrCArea_out.xls"); |
Supprimer une plage nommée
Aspose.Cells fournit leNameCollection.RemoveAt() méthode pour effacer le nom de la plage. Pour effacer le contenu de la plage, utilisezCells.ClearRange() méthode. L’exemple suivant montre comment supprimer une plage nommée avec son contenu.
// 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.getSharedDataDir(RemoveANamedRange.class) + "data/"; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Create a range of cells. | |
Range range1 = worksheet.getCells().createRange("E12", "I12"); | |
// Name the range. | |
range1.setName("MyRange"); | |
// Set the outline border to the range. | |
range1.setOutlineBorder(BorderType.TOP_BORDER, CellBorderType.MEDIUM, Color.fromArgb(0, 0, 128)); | |
range1.setOutlineBorder(BorderType.BOTTOM_BORDER, CellBorderType.MEDIUM, Color.fromArgb(0, 0, 128)); | |
range1.setOutlineBorder(BorderType.LEFT_BORDER, CellBorderType.MEDIUM, Color.fromArgb(0, 0, 128)); | |
range1.setOutlineBorder(BorderType.RIGHT_BORDER, CellBorderType.MEDIUM, Color.fromArgb(0, 0, 128)); | |
// Input some data with some formattings into | |
// a few cells in the range. | |
range1.get(0, 0).setValue("Test"); | |
range1.get(0, 4).setValue("123"); | |
// Create another range of cells. | |
Range range2 = worksheet.getCells().createRange("B3", "F3"); | |
// Name the range. | |
range2.setName("testrange"); | |
// Copy the first range into second range. | |
range2.copy(range1); | |
// Remove the previous named range (range1) with its contents. | |
worksheet.getCells().clearRange(11, 4, 11, 8); | |
worksheets.getNames().removeAt(0); | |
// Save the excel file. | |
workbook.save(dataDir + "RANRange_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |
borderColors