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 Funktionalität, um Zeilen und Spalten automatisch zu skalieren. 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
- Download the C# library to auto resize rows and columns in Excel
- Importieren Sie die gewünschte Excel-Datei
- Verwenden Sie die
AutoSizeRow
-Methode, um Zeilen automatisch zu skalieren - Verwenden Sie die
AutoSizeColumn
-Methode, um Spalten basierend auf ihrer Inhaltsbreite zu ändern - Passen Sie die Höhen- und Breitenwerte nach Ihren Anforderungen an
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 automatisch die Höhe einer angegebenen Zeile(n) basierend auf deren Inhalt an.
: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 AutoSizeColumn
-Methode, um die Breite der Spalte(n) basierend auf der Länge des Inhalts anzupassen.
: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 AutoSizeRow
-Methode nimmt einen zweiten Parameter als Boolean-Wert an. Wenn auf wahr gesetzt, wird die Höhe der zusammengeführten Zellen ebenfalls berücksichtigt, indem die Höhe des Wertes der linken oberen Zelle in der zusammengeführten Region genommen und durch die Anzahl der Zeilen in der zusammengeführten Region 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 Pixeln und befindet sich in einem zusammengeführten Bereich, der 3 Zeilen umfasst. 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 zu einer Höhe von 64 px für jede Zeile führt. 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 wird, passt die AutoSizeRow
-Methode die Zeilenhöhe basierend auf dem Inhalt der Zelle mit der größten Höhe an. In Microsoft Excel, wenn ein Zellbereich zusammengeführt wird, behält er nur den Wert der oberen linken Zelle bei und löscht den Rest. Mit IronXL jedoch wird die Zusammenführung durchgeführt, ohne die Werte der anderen Zellen im zusammengeführten Bereich zu löschen.
: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 für automatische Zeilenhöhenanpassung zu verwenden. 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 AutoSizeRow
können Sie auch die Größenänderung von Spalten so einstellen, dass sie die Breite von verbundenen Zellen berücksichtigt. Wenn auf true gesetzt, 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
Zum Beispiel, wenn der Inhalt eine Breite von 117 Pixel hat und sich in einem zusammengeführten Bereich befindet, der sich über 2 Spalten erstreckt, wird das Anwenden der automatischen Größenanpassung auf eine dieser Spalten dazu führen, dass jede Spalte eine Breite von 59 Pixel hat. Die AutoSizeColumn
-Methode 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 AutoSizeColumn
-Methode die Breite basierend auf dem Inhalt der Zelle mit der längsten Breite an. In Microsoft Excel, wenn ein Zellbereich zusammengeführt wird, behält er nur den Wert oben links bei und löscht den Rest. Die IronXL Merge-Methode löscht jedoch NICHT den Wert der anderen Zellen im zusammengeführten Bereich.
: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
Neben der Verwendung der AutoSizeRow
- und AutoSizeColumn
-Methoden zur Berechnung und Anpassung der Breite und Höhe des Inhalts, haben Sie auch die Flexibilität, die Breite und Höhe von Spalten und Zeilen manuell so anzupassen, dass sie Ihren spezifischen Anforderungen entsprechen. So können Sie sie auf einen bestimmten Wert einstellen, der Ihren Bedürfnissen entspricht.
- Passen Sie die Höhe an: Setzen Sie die Height-Eigenschaft der RangeRow.
- Passen Sie die Breite an: Setzen Sie die Width-Eigenschaft 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.