Benannte Bereiche
Erstellen eines benannten Bereichs
Mit Microsoft Excel
Die folgenden Schritte beschreiben, wie Sie eine Zelle oder einen Zellbereich mit Microsoft Excel benennen. Diese Methode gilt für Microsoft Office Excel 2003, Microsoft Excel 97, 2000 und 2002.
- Wählen Sie die Zelle oder den Zellbereich aus, den Sie benennen möchten.
- Klicken Sie auf das Namensfeld am linken Ende der Bearbeitungsleiste.
- Geben Sie den Namen für die Zellen ein.
- Drücken Sie Enter.
Mit Aspose.Cells
Hier verwenden wir die Aspose.Cells API, um die Aufgabe zu erledigen.
Aspose.Cells bietet eine Klasse,Arbeitsmappe , die eine Microsoft Excel-Datei darstellt. DasArbeitsmappe Klasse enthält aArbeitsblattsammlung die den Zugriff auf jedes Arbeitsblatt in einer Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch dargestelltArbeitsblatt Klasse. DasArbeitsblatt Klasse bietet aCellsSammlung.
Es ist möglich, einen benannten Bereich zu erstellen, indem Sie die überladene aufrufencreateRange Methode derCells Sammlung. Eine typische Version descreateRange-Methode nimmt die folgenden Parameter an:
- Name der Zelle oben links, der Name der Zelle oben links im Bereich.
- Name der unteren rechten Zelle, der Name der unteren rechten Zelle im Bereich.
Wenn diecreateRange-Methode aufgerufen wird, gibt sie den neu erstellten benannten Bereich als Instanz von zurückBereich Klasse.
Das folgende Beispiel zeigt, wie Sie einen benannten Zellbereich erstellen, der sich über B4:G14 erstreckt.
// 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"); |
Zugriff auf alle benannten Bereiche in einer Tabelle
Ruf den … angetNamedRanges Methode derArbeitsblattsammlung um alle benannten Bereiche in einer Tabelle zu erhalten. DasgetNamedRanges-Methode gibt ein Array aller benannten Bereiche in der zurückArbeitsblattsammlung.
Das folgende Beispiel zeigt, wie auf alle benannten Bereiche in einer Arbeitsmappe zugegriffen wird.
// 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); |
Greifen Sie auf einen bestimmten benannten Bereich zu
Ruf den … anArbeitsblattsammlung SammlunggetRangeByName-Methode, um einen bestimmten Bereich nach Namen abzurufen. Ein typischesgetRangeByName-Methode nimmt den Namen des benannten Bereichs und gibt den angegebenen benannten Bereich als Instanz von zurückBereichKlasse.
Das folgende Beispiel zeigt, wie auf einen angegebenen Bereich über seinen Namen zugegriffen wird.
// 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()); |
Identifizieren Sie Cells in einem benannten Bereich
Mit Aspose.Cells können Sie Daten in die einzelnen Zellen eines Bereichs einfügen. Angenommen, Sie haben einen benannten Zellbereich, z. B. A1:C4. Die Matrix würde also 4 * 3 = 12 Zellen ergeben und die einzelnen Bereichszellen werden sequentiell angeordnet. Aspose.Cells bietet Ihnen einige nützliche Eigenschaften der Klasse Range, um auf die einzelnen Zellen im Bereich zuzugreifen. Sie können die folgenden Methoden verwenden, um die Zellen im Bereich zu identifizieren:
- getFirstRow gibt den Index der ersten Zeile im benannten Bereich zurück.
- getFirstColumngibt den Index der ersten Spalte im benannten Bereich zurück.
Das folgende Beispiel zeigt, wie einige Werte in die Zellen eines bestimmten Bereichs eingegeben werden.
// 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()); |
Geben Sie Daten in Cells im benannten Bereich ein
Mit Aspose.Cells können Sie Daten in die einzelnen Zellen eines Bereichs einfügen. Angenommen, Sie haben einen benannten Zellbereich, z. B. H1:J4. Die Matrix würde also 4 * 3 = 12 Zellen ergeben und die einzelnen Bereichszellen werden sequentiell angeordnet. Aspose.Cells bietet Ihnen einige nützliche Eigenschaften der Klasse Range, um auf die einzelnen Zellen im Bereich zuzugreifen. Sie können die folgenden Eigenschaften verwenden, um die Zellen im Bereich zu identifizieren:
- getFirstRowgibt den Index der ersten Zeile im benannten Bereich zurück.
- getFirstColumngibt den Index der ersten Spalte im benannten Bereich zurück.
Das folgende Beispiel zeigt, wie einige Werte in die Zellen eines bestimmten Bereichs eingegeben werden.
// 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"); |
Bereiche formatieren … Hintergrundfarbe und Schriftattribute auf einen benannten Bereich festlegen
Um eine Formatierung anzuwenden, definieren Sie aStil Objekt, um Stileinstellungen anzugeben und auf die anzuwendenBereichObjekt.
Das folgende Beispiel zeigt, wie Sie eine solide Füllfarbe (Schattierungsfarbe) mit Schriftarteinstellungen auf einen Bereich festlegen.
// 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"); |
Formatbereiche…Hinzufügen von Rahmen zu einem benannten Bereich
Es ist möglich, statt nur einer einzelnen Zelle Rahmen zu einem Bereich von Zellen hinzuzufügen. DasBereich Objekt bietet asetOutlineBorders-Methode, die die folgenden Parameter verwendet, um dem Zellbereich einen Rahmen hinzuzufügen:
- borderStyle: die Art des Rahmens, ausgewählt aus derCellRandTypeAufzählung.
- borderColor: die Linienfarbe des Rahmens, ausgewählt aus derFarbe Aufzählung.
Das folgende Beispiel zeigt, wie Sie einen Gliederungsrahmen für einen Bereich festlegen.
// 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"); |
Die folgende Ausgabe würde nach der Ausführung des obigen Codes generiert werden:
Stil auf Zellen in einem Bereich anwenden
Manchmal möchten Sie einen Stil auf die Zellen in a anwendenBereich . Dazu können Sie über die Zellen im Bereich iterieren und die verwendenCell.setStyle-Methode, um den Stil auf die Zelle anzuwenden.
Das folgende Beispiel zeigt, wie Stile auf Zellen in einem Bereich angewendet werden.
// 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"); |
Entfernen Sie einen benannten Bereich
Aspose.Cells bietet dieNameCollection.RemoveAt()-Methode, um den Namen des Bereichs zu löschen. Um den Inhalt des Bereichs zu löschen, verwenden SieCells.ClearRange() Methode. Das folgende Beispiel zeigt, wie ein benannter Bereich mit seinem Inhalt entfernt wird.
// 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"); |
RandFarben