Benannte Bereiche formatieren und ändern
Bereiche formatieren
Hintergrundfarbe und Schriftattributen für einen benannten Bereich einstellen
Um die Formatierung anzuwenden, definieren Sie ein Style-Objekt, um die Formatierungseinstellungen anzugeben, und wenden Sie es auf das Range-Objekt an.
Das folgende Beispiel zeigt, wie die Füllfarbe (Hintergrundfarbe) mit Schrifteinstellungen für einen Bereich festgelegt wird.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the book. | |
Worksheet WS = workbook.Worksheets[0]; | |
// Create a range of cells. | |
Aspose.Cells.Range range = WS.Cells.CreateRange(1, 1, 1, 18); | |
// Name the range. | |
range.Name = "MyRange"; | |
// Declare a style object. | |
Style stl; | |
// Create/add the style object. | |
stl = workbook.CreateStyle(); | |
// Specify some Font settings. | |
stl.Font.Name = "Arial"; | |
stl.Font.IsBold = true; | |
// Set the font text color | |
stl.Font.Color = Color.Red; | |
// To Set the fill color of the range, you may use ForegroundColor with | |
// Solid Pattern setting. | |
stl.ForegroundColor = Color.Yellow; | |
stl.Pattern = BackgroundType.Solid; | |
// Create a StyleFlag object. | |
StyleFlag flg = new StyleFlag(); | |
// Make the corresponding attributes ON. | |
flg.Font = true; | |
flg.CellShading = true; | |
// Apply the style to the range. | |
range.ApplyStyle(stl, flg); | |
// Save the excel file. | |
workbook.Save(dataDir + "rangestyles.out.xls"); |
Hinzufügen von Rahmen zu einem benannten Bereich
Es ist möglich, Rahmen zu einem Bereich von Zellen hinzuzufügen, anstatt nur zu einer einzelnen Zelle. Das Range-Objekt bietet eine SetOutlineBorder-Methode, die die folgenden Parameter verwendet, um einen Rahmen zum Zellenbereich hinzuzufügen:
- Rahmenart, die Art des Rahmens, ausgewählt aus der BorderType-Aufzählung.
- Linienstil, der Linienstil, ausgewählt aus der CellBorderType-Aufzählung.
- Farbe, die Linienfarbe, ausgewählt aus der Farb-Aufzählung.
Im folgenden Beispiel wird gezeigt, wie einem Bereich ein Umrissrahmen gesetzt wird.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Clears the worksheets | |
workbook.Worksheets.Clear(); | |
// Adding a new worksheet to the Workbook object | |
workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = worksheet.Cells["A1"]; | |
// Adding some value to the "A1" cell | |
cell.PutValue("Hello World From Aspose"); | |
// Creating a range of cells starting from "A1" cell to 3rd column in a row | |
Range range = worksheet.Cells.CreateRange(0, 0, 1, 3); | |
// Adding a thick top border with blue line | |
range.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Thick, Color.Blue); | |
// Adding a thick bottom border with blue line | |
range.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Thick, Color.Blue); | |
// Adding a thick left border with blue line | |
range.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Thick, Color.Blue); | |
// Adding a thick right border with blue line | |
range.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Thick, Color.Blue); | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Das folgende Beispiel zeigt, wie Rahmen um jede Zelle im Bereich festgelegt werden.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Access the cells in the first worksheet. | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Create a range of cells. | |
Range range = cells.CreateRange("A6", "P216"); | |
// Declare style. | |
Style stl; | |
// Create the style adding to the style collection. | |
stl = workbook.CreateStyle(); | |
// Specify the font settings. | |
stl.Font.Name = "Arial"; | |
stl.Font.IsBold = true; | |
stl.Font.Color = Color.Blue; | |
// Set the borders | |
stl.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin; | |
stl.Borders[BorderType.TopBorder].Color = Color.Blue; | |
stl.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin; | |
stl.Borders[BorderType.LeftBorder].Color = Color.Blue; | |
stl.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin; | |
stl.Borders[BorderType.BottomBorder].Color = Color.Blue; | |
stl.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; | |
stl.Borders[BorderType.RightBorder].Color = Color.Blue; | |
// Create StyleFlag object. | |
StyleFlag flg = new StyleFlag(); | |
// Make the corresponding formatting attributes ON. | |
flg.Font = true; | |
flg.Borders = true; | |
// Apply the style with format settings to the range. | |
range.ApplyStyle(stl, flg); | |
// Save the excel file. | |
workbook.Save( dataDir + "output.xls"); | |
Benannten Bereich umbenennen
Aspose.Cells ermöglicht es Ihnen, einen benannten Bereich nach Bedarf umzubenennen. Sie können den benannten Bereich abrufen und umbenennen, indem Sie das Name.Text-Attribut verwenden. Das folgende Beispiel zeigt, wie ein benannter Bereich umbenannt wird.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open an existing Excel file that has a (global) named range "TestRange" in it | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get the first worksheet | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Get the Cells of the sheet | |
Cells cells = sheet.Cells; | |
// Get the named range "MyRange" | |
Name name = workbook.Worksheets.Names["TestRange"]; | |
// Rename it | |
name.Text = "NewRange"; | |
// Save the Excel file | |
workbook.Save(dataDir + "RenamingRange.out.xlsx"); |
Vereinigung von Bereichen
Aspose.Cells stellt die Range.Union-Methode bereit, um die Vereinigung von Bereichen vorzunehmen. Die Methode gibt ein ArrayList-Objekt zurück. Das folgende Beispiel zeigt, wie die Vereinigung von Bereichen erfolgt.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a workbook object. | |
// Open an existing excel file. | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get the named ranges. | |
Range[] ranges = workbook.Worksheets.GetNamedRanges(); | |
// Create a style object. | |
Style style = workbook.CreateStyle(); | |
// Set the shading color with solid pattern type. | |
style.ForegroundColor = Color.Yellow; | |
style.Pattern = BackgroundType.Solid; | |
// Create a styleflag object. | |
StyleFlag flag = new StyleFlag(); | |
// Apply the cellshading. | |
flag.CellShading = true; | |
// Creates an arraylist. | |
ArrayList al = new ArrayList(); | |
// Get the arraylist collection apply the union operation. | |
al = ranges[0].UnionRanges(ranges[1]); | |
// Define a range object. | |
Range rng; | |
int frow, fcol, erow, ecol; | |
for (int i = 0; i < al.Count; i++) | |
{ | |
// Get a range. | |
rng = (Range)al[i]; | |
frow = rng.FirstRow; | |
fcol = rng.FirstColumn; | |
erow = rng.RowCount; | |
ecol = rng.ColumnCount; | |
// Apply the style to the range. | |
rng.ApplyStyle(style, flag); | |
} | |
// Save the excel file. | |
workbook.Save(dataDir + "rngUnion.out.xls"); |
Schnittmenge von Bereichen
Aspose.Cells bietet die Range.Intersect-Methode, um zwei Bereiche zu schneiden. Die Methode gibt ein Range-Objekt zurück. Um zu überprüfen, ob ein Bereich einen anderen Bereich schneidet, verwenden Sie die Range.Intersect-Methode, die einen booleschen Wert zurückgibt. Das folgende Beispiel zeigt, wie die Bereiche geschnitten werden.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a workbook object. | |
// Open an existing excel file. | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get the named ranges. | |
Range[] ranges = workbook.Worksheets.GetNamedRanges(); | |
// Check whether the first range intersect the second range. | |
bool isintersect = ranges[0].IsIntersect(ranges[1]); | |
// Create a style object. | |
Style style = workbook.CreateStyle(); | |
// Set the shading color with solid pattern type. | |
style.ForegroundColor = Color.Yellow; | |
style.Pattern = BackgroundType.Solid; | |
// Create a styleflag object. | |
StyleFlag flag = new StyleFlag(); | |
// Apply the cellshading. | |
flag.CellShading = true; | |
// If first range intersects second range. | |
if (isintersect) | |
{ | |
// Create a range by getting the intersection. | |
Range intersection = ranges[0].Intersect(ranges[1]); | |
// Name the range. | |
intersection.Name = "Intersection"; | |
// Apply the style to the range. | |
intersection.ApplyStyle(style, flag); | |
} | |
// Save the excel file. | |
workbook.Save(dataDir + "rngIntersection.out.xls"); |
Zellen im benannten Bereich zusammenführen
Aspose.Cells bietet die Range.Merge()-Methode, um die Zellen im Bereich zusammenzuführen. Das folgende Beispiel zeigt, wie die einzelnen Zellen eines benannten Bereichs zusammengeführt werden.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook wb1 = new Workbook(); | |
// Get the first worksheet in the workbook. | |
Worksheet worksheet1 = wb1.Worksheets[0]; | |
// Create a range. | |
Range mrange = worksheet1.Cells.CreateRange("A18", "J18"); | |
// Name the range. | |
mrange.Name = "Details"; | |
// Merge the cells of the range. | |
mrange.Merge(); | |
// Get the range. | |
Range range1 = wb1.Worksheets.GetRangeByName("Details"); | |
// Define a style object. | |
Style style = wb1.CreateStyle(); | |
// Set the alignment. | |
style.HorizontalAlignment = TextAlignmentType.Center; | |
// Create a StyleFlag object. | |
StyleFlag flag = new StyleFlag(); | |
// Make the relative style attribute ON. | |
flag.HorizontalAlignment = true; | |
// Apply the style to the range. | |
range1.ApplyStyle(style, flag); | |
// Input data into range. | |
range1[0, 0].PutValue("Aspose"); | |
// Save the excel file. | |
wb1.Save(dataDir + "mergingrange.out.xls"); |
Einen benannten Bereich entfernen
Aspose.Cells stellt die NameCollection.RemoveAt()-Methode bereit, um den Namen des Bereichs zu löschen. Verwenden Sie die Cells.ClearRange()-Methode, um den Inhalt des Bereichs zu löschen. 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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.Worksheets; | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Create a range of cells. | |
Range range1 = worksheet.Cells.CreateRange("E12", "I12"); | |
// Name the range. | |
range1.Name = "MyRange"; | |
// Set the outline border to the range. | |
range1.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
// Input some data with some formattings into | |
// A few cells in the range. | |
range1[0, 0].PutValue("Test"); | |
range1[0, 4].PutValue("123"); | |
// Create another range of cells. | |
Range range2 = worksheet.Cells.CreateRange("B3", "F3"); | |
// Name the range. | |
range2.Name = "testrange"; | |
// Copy the first range into second range. | |
range2.Copy(range1); | |
// Remove the previous named range (range1) with its contents. | |
worksheet.Cells.ClearRange(11, 4, 11, 8); | |
worksheets.Names.RemoveAt(0); | |
// Save the excel file. | |
workbook.Save(dataDir + "copyranges.out.xls"); |