Automatische Größenanpassung von Zeilen und Spalten
Die Größenänderung von Zeilen und Spalten in einer Kalkulationstabelle kann viel Platz sparen und die Lesbarkeit verbessern. Die IronXL C#-Bibliothek bietet die Möglichkeit, die Größe von Zeilen und Spalten automatisch zu ändern. Da dies in C# geschieht, können die Methoden zur Größenänderung für alle vorhandenen Zeilen und Spalten aufgerufen werden, wodurch die manuelle Aufgabe in der Kalkulationstabelle automatisiert wird.
Automatische Größenanpassung von Zeilen und Spalten
- Laden Sie die C#-Bibliothek zur automatischen Größenänderung von Zeilen und Spalten in Excel herunter
- Importieren Sie die gewünschte Excel-Datei
- Nutzen Sie die
AutoSizeRow
methode zur automatischen Größenänderung von Zeilen - Verwenden Sie die
AutoSizeColumn
methode zur Größenänderung von Spalten auf der Grundlage ihrer Inhaltsbreite - Stellen Sie die Werte für Höhe und Breite nach Ihren Wünschen ein
Legen Sie los mit IronXL
Beginnen Sie noch heute mit der Verwendung von IronXL in Ihrem Projekt mit einer kostenlosen Testversion.
Beispiel für die automatische Größenänderung von Zeilen
Die Methode "AutoSizeRow" passt die Höhe einer bestimmten Zeile automatisch an(s) auf der Grundlage ihres Inhalts.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize on row 2
workSheet.AutoSizeRow(1);
workBook.SaveAs("autoResize.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize on row 2
workSheet.AutoSizeRow(1)
workBook.SaveAs("autoResize.xlsx")
Demonstration
Auto Resize Columns Beispiel
Verwenden Sie die Methode "AutoSizeColumn", um die Breite der Spalte zu ändern(s) basierend auf der Länge des Inhalts.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize on column A
workSheet.AutoSizeColumn(0);
workBook.SaveAs("autoResizeColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize on column A
workSheet.AutoSizeColumn(0)
workBook.SaveAs("autoResizeColumn.xlsx")
Demonstration
Tipps
Erweiterte automatische Größenanpassung von Zeilen Beispiel
Eine weitere Überladung der Methode "AutoSizeRow" nimmt einen zweiten Parameter als Boolean-Wert. Bei der Einstellung true wird auch die Höhe der zusammengeführten Zellen berücksichtigt, indem die Höhe des Wertes der linken oberen Zelle im Zusammenführungsbereich genommen und durch die Anzahl der Zeilen im zusammengeführten Bereich geteilt wird. Diese Bedingung gilt, wenn der Inhalt der zusammengeführten Zelle die größte Höhe im Verhältnis zu den übrigen Zeilen im zusammengeführten Bereich hat.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);
workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)
workBook.SaveAs("advanceAutoResizeRow.xlsx")
Beispiel
Angenommen, der Inhalt hat eine Höhe von 192 Pixel und befindet sich in einem zusammengefassten Bereich, der sich über 3 Zeilen erstreckt. Wenn die automatische Größenanpassung auf eine dieser Zeilen angewendet wird, teilt der Algorithmus die Höhe des Inhalts von 192 px durch 3, was eine Höhe von 64 px für jede Zeile ergibt. Denken Sie daran, dass die Methode "AutoSizeRow" auf jede Zeile einzeln angewendet werden muss.
Was passiert, wenn der Wert auf false gesetzt wird?
Wenn der Wert auf "false" gesetzt ist, passt die Methode "AutoSizeRow" die Zeilenhöhe auf der Grundlage des Inhalts der Zelle mit der größten Höhe an. In Microsoft Excel wird beim Zusammenführen eines Zellbereichs nur der Wert der oberen linken Zelle beibehalten und der Rest wird gelöscht. Bei IronXL hingegen wird der Zusammenführen wird durchgeführt, ohne dass die Werte der anderen Zellen in der zusammengeführten Region gelöscht werden.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
using IronXL;
workSheet.Merge("A1:A3");
workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Imports IronXL
workSheet.Merge("A1:A3")
workSheet.AutoSizeRow(0, False)
workSheet.AutoSizeRow(1, False)
workSheet.AutoSizeRow(2, False)
Zu Demonstrationszwecken habe ich die Zeilenhöhe manuell angepasst, anstatt die Excel funktion zur automatischen Anpassung der Zeilenhöhe. Dies geschah, um das Hinzufügen von auffälligen oberen und unteren Polstern zu vermeiden.
Wenn der Parameter useMergedCells auf false gesetzt ist, wird die Höhe der zusammengeführten Zellen nicht berücksichtigt. Daher gibt es keine Höhenänderungen, und die Höhe jeder Zeile wird ausschließlich auf der Grundlage ihres Inhalts berechnet.
Erweiterte automatische Größenanpassung von Spalten Beispiel
Ähnlich wie bei AutoSizeRow
können Sie auch bei der Größenänderung von Spalten die Breite der zusammengeführten Zellen berücksichtigen. Wenn diese Option auf true gesetzt ist, wird die Breite der zusammengeführten Zellen berücksichtigt. Wenn die zusammengeführte Zelle den längsten Inhalt hat, entspricht die Breite der geänderten Spalte der Breite der zusammengeführten Zelle geteilt durch die Anzahl der Spalten im zusammengeführten Bereich.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, true);
workSheet.AutoSizeColumn(1, true);
workSheet.AutoSizeColumn(2, true);
workBook.SaveAs("advanceAutoResizeColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, True)
workSheet.AutoSizeColumn(1, True)
workSheet.AutoSizeColumn(2, True)
workBook.SaveAs("advanceAutoResizeColumn.xlsx")
Beispiel
Wenn der Inhalt beispielsweise eine Breite von 117 Pixel hat und sich in einem zusammengefassten Bereich befindet, der sich über 2 Spalten erstreckt, führt die Anwendung der automatischen Größenanpassung auf eine dieser Spalten zu einer Breite von 59 Pixel für jede Spalte. Die Methode "AutoSizeColumn" muss auf jede Spalte einzeln angewendet werden.
Was passiert, wenn der Wert auf false gesetzt wird?
Wenn der Wert auf false gesetzt ist, passt die Methode "AutoSizeColumn" die Breite auf der Grundlage des Inhalts der Zelle mit der größten Breite an. Wenn in Microsoft Excel ein Bereich von Zellen zusammengeführt wird, bleibt nur der obere linke Wert erhalten und der Rest wird gelöscht. Das IronXL Zusammenführen methode löscht NICHT den Wert anderer Zellen in der zusammengeführten Region.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
workSheet.Merge("A1:B1");
workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet.Merge("A1:B1")
workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
Die Breite der zusammengeführten Zellen wurde nicht priorisiert, was dazu führte, dass sich die Breite nicht änderte, da die Breite jeder Spalte auf der Grundlage ihrer Inhaltsbreite berechnet wurde.
Die Unterschiede zwischen Excel und IronXL Auto Resize
Zeilen
Die Excel-Funktion für die automatische Anpassung der Zeilenhöhe fügt der Zelle oben und unten eine deutliche Auffüllung hinzu.
Rubriken
Die Excel-Funktion für die automatische Anpassung der Spaltenbreite fügt der Zelle ebenfalls eine linke und rechte Füllung hinzu, die jedoch weniger auffällig ist.
Manuelle Größenänderung von Höhe und Breite Beispiel
Sie können sich nicht nur auf die Methoden "AutoSizeRow" und "AutoSizeColumn" verlassen, um die Breite und Höhe des Inhalts zu berechnen und anzupassen, sondern Sie haben auch die Möglichkeit, die Breite und Höhe der Spalten und Zeilen manuell an Ihre spezifischen Anforderungen anzupassen. So können Sie sie auf einen bestimmten Wert einstellen, der Ihren Bedürfnissen entspricht.
- Anpassen der Höhe: Setzen Sie die Eigenschaft Höhe von RangeRow.
- Anpassen der Breite: Setzen Sie die Eigenschaft Width der RangeColumn.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 10; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 10; // Set width
workBook.SaveAs("manualHeightAndWidth.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
Höhen- und Breiteneinheiten in Excel
Die Maßeinheiten für Höhe und Breite in Excel unterscheiden sich voneinander. Die Höhe wird in 1/20 eines Punktes gemessen, während die Breite anhand der Anzahl der "0" bestimmt wird, die in eine Zelle passen, wenn die Schriftart "Normal" verwendet wird.
Um die Umrechnung der Einheiten zu vereinfachen, geben wir den Wert in IronXL an, der den Anzeigepixeln in Microsoft Excel entspricht. Es ist wichtig zu wissen, dass ein Pixel keinen physischen Punkt auf dem Bildschirm darstellt; sie ist vielmehr als 1/96 Zoll definiert, unabhängig von der tatsächlichen Auflösung des Bildschirms. Excel selbst ist so konzipiert, dass es auflösungsunabhängig ist und sich nicht auf physische Pixel stützt.
Um eine Beziehung zwischen den Höhen- und Breitenmaßen von IronXL und Excel herzustellen, können Sie die folgenden Näherungswerte verwenden:
- Höhe: RangeRow.Height = 10 ergibt eine ungefähre Höhe von 1 Pixel.
- Breite: RangeColumn.Width = 23.255 entspricht 1 Pixel.