Wie passe ich Zeilen und Spalten in Excel automatisch an | IronXL

Automatische Größenänderung von Excel-Zeilen und -Spalten in C#35;

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL ermöglicht die automatische Größenanpassung von Zeilen und Spalten in C# mit Methoden wie AutoSizeRow() und AutoSizeColumn(), die die Dimensionen auf der Grundlage des Zellinhalts anpassen und so die manuelle Formatierung von Tabellenkalkulationen überflüssig machen und Berechnungen mit zusammengeführten Zellen unterstützen. Diese Funktion automatisiert Excel-Arbeitsabläufe, indem sie die Zellabmessungen dynamisch an den Inhalt anpasst und so professionelle Tabellenkalkulationen ohne manuelle Eingriffe gewährleistet.

als-Überschrift:2(Schnellstart: Automatisches Anpassen einer Spalte oder Zeile mit einem einzigen Aufruf)

Mit IronXL können Sie die Größe jeder Zeile oder Spalte in einer Zeile ändern. Verwenden Sie WorkSheet.AutoSizeColumn(int, bool) oder WorkSheet.AutoSizeRow(int, bool), um die Dimensionen auf der Grundlage des Zellinhalts anzupassen (zusammengefasste Zellen optional). Dieser Ansatz funktioniert auf allen .NET-Plattformen, ohne dass eine Excel-Installation erforderlich ist.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronXL mit dem NuGet-Paketmanager.

    PM > Install-Package IronXL.Excel

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    // One-line: auto-resize column A including merged cells
    workSheet.AutoSizeColumn(0, true);
    // Or auto-resize row 5 quickly
    workSheet.AutoSizeRow(4, true);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronXL in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie kann ich die Größe von Zeilen automatisch anpassen?

Die Methode AutoSizeRow passt die Höhe der angegebenen Zeilen automatisch an deren Inhalt an. Diese Funktion stellt sicher, dass der gesamte Text innerhalb der Zellen sichtbar ist, was ein Abschneiden verhindert und die Lesbarkeit verbessert. When working with Excel files without Interop, IronXL calculates optimal row height based on font size, cell content, and formatting attributes.

: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");
$vbLabelText   $csharpLabel

Der Algorithmus für die automatische Größenanpassung berücksichtigt Schriftmetriken, Zellauffüllungen und Einstellungen für den Textumbruch, um die optimale Höhe zu bestimmen. Für Entwickler, die von der traditionellen Excel-Automatisierung umsteigen, bietet dies eine effiziente Alternative, die keine Excel-Installation erfordert.

Wie sieht das Ergebnis aus?

Vorher-Nachher-Vergleich der Datentabelle mit automatisch skalierten Zeilen, die sich erweitern, um alle Mitarbeiterinformationen anzuzeigen

Wie kann ich die Größe von Spalten automatisch anpassen?

Verwenden Sie die Methode AutoSizeColumn, um die Spaltenbreite anhand der Länge des Inhalts anzupassen. Diese Methode analysiert den längsten Inhalt in jeder Spalte und passt die Breite entsprechend an, um sicherzustellen, dass alle Daten ohne horizontales Scrollen sichtbar sind. Der Algorithmus berücksichtigt Textlänge, Zahlenformatierung, Datumsanzeigen und andere Zellformatierungen, die sich auf die erforderliche Breite auswirken.

: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");
$vbLabelText   $csharpLabel

Bei der Arbeit mit Finanzdaten oder Berichten ist die richtige Größe der Spalten entscheidend für die Lesbarkeit. IronXL's auto-resize functionality integrates with features like cell borders and alignment to create professional spreadsheets.

Wie sieht das Ergebnis aus?

Excel-Tabelle vor und nach der automatischen Größenanpassung: schmale Spalten mit abgeschnittenem Text im Vergleich zu richtig dimensionierten Spalten mit vollständigem Inhalt

TippsAlle Zeilen- und Spalten-Indexpositionen folgen der Null-basierten Indizierung.


Wie verwende ich erweiterte Zeilengrößenanpassung mit zusammengefassten Zellen?

Eine weitere Überladung der Methode AutoSizeRow nimmt einen zweiten booleschen Parameter an. Mit diesem Parameter können Sie verschmolzene Zellen bei der Größenänderung berücksichtigen. When working with merged cells in Excel, auto-resize behavior becomes more complex as content spans multiple cells.

: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");
$vbLabelText   $csharpLabel

Wie funktioniert die Merged Cell Calculation?

Wenn der Inhalt eine Höhe von 192 Pixeln hat und sich in einem zusammengefassten Bereich befindet, der sich über 3 Zeilen erstreckt, teilt der Algorithmus bei Anwendung der automatischen Größenanpassung auf eine dieser Zeilen 192 px durch 3, was 64 px für jede Zeile ergibt. Die Methode AutoSizeRow muss auf jede Zeile einzeln angewendet werden. Durch diese Verteilung wird sichergestellt, dass die zusammengeführten Inhalte in allen Zeilen des Zusammenführungsbereichs korrekt angezeigt werden.

Vorher/Nachher-Vergleich der Excel-Funktion zur automatischen Anpassung der Zeilengröße mit Höhenoptimierung von 99 auf 33 Pixel

Was passiert, wenn der Wert auf false gesetzt ist?

Wenn die Methode AutoSizeRow auf false gesetzt ist, wird die Zeilenhöhe anhand der Zelle mit dem höchsten Inhalt angepasst. In Microsoft Excel, merging cells retains only the upper-left value and clears the rest. However, IronXL's Merge operation preserves values of other cells in the merged region, providing more flexibility with complex spreadsheets.

: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);
$vbLabelText   $csharpLabel
Vorher-Nachher-Vergleich, der zeigt, wie die Excel-Funktion zur automatischen Größenanpassung von Zeilen die Sichtbarkeit von Text in Rechenblattzellen verbessert

For demonstration purposes, I manually adjusted row height instead of using the Excel autofit row height function to avoid adding noticeable top and bottom padding.

Wenn der Parameter useMergedCells auf false gesetzt ist, wird die Höhe der zusammengeführten Zellen nicht berücksichtigt. Die Höhe jeder Zeile wird ausschließlich auf der Grundlage ihres Inhalts berechnet. Bei diesem Ansatz werden die Zeilenhöhen unabhängig von den zusammengeführten Regionen konsistent gehalten.

Wie handhabe ich erweiterte Spaltengrößenanpassung mit zusammengeführten Zellen?

Ähnlich wie bei AutoSizeRow können Sie bei der Größenänderung von Spalten die Breite der zusammengeführten Zellen berücksichtigen. Wenn auf true gesetzt, wenn eine zusammengeführte Zelle den längsten Inhalt hat, entspricht die geänderte Spaltenbreite der Breite der zusammengeführten Zelle geteilt durch die Anzahl der Spalten im zusammengeführten Bereich. This feature helps when creating spreadsheets with complex layouts.

: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");
$vbLabelText   $csharpLabel

Wie funktioniert die Berechnung der verschmolzenen Zellbreite?

Wenn der Inhalt eine Breite von 117 Pixel in einem zusammengefassten Bereich hat, der sich über 2 Spalten erstreckt, ergibt die Anwendung der automatischen Größenanpassung auf eine beliebige Spalte 59 Pixel für jede Spalte. Die Methode AutoSizeColumn muss auf jede Spalte einzeln angewendet werden. Durch diese proportionale Verteilung wird sichergestellt, dass die zusammengeführten Inhalte in allen Spalten des Zusammenführungsbereichs korrekt angezeigt werden.

Vorher-Nachher-Vergleich der automatischen Größenanpassung von Excel-Spalten, die die Breite von Spalte B von 117 auf 59 Pixel reduziert

Was passiert, wenn der Wert auf false gesetzt ist?

Wenn die Methode AutoSizeColumn auf false gesetzt ist, wird die Breite anhand der Zelle mit dem längsten Inhalt angepasst. In Microsoft Excel, merging cells keeps only the upper-left value and erases the rest. However, IronXL's Merge method preserves values of other cells in the merged region, giving developers more control over their data.

: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);
$vbLabelText   $csharpLabel
Vor und nach der automatischen Größenanpassung der Spalten in Excel mit optimierter Anpassung der Spaltenbreite für Textdaten

Die Breite der zusammengefassten 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.

Was sind die Unterschiede zwischen Excel und IronXL Auto Resize?

Das Verständnis der Unterschiede zwischen der Excel-eigenen Auto-Fit-Funktionalität und der IronXL-Implementierung hilft Entwicklern, fundierte Entscheidungen bei der Automatisierung von Tabellenkalkulationsoperationen zu treffen. Diese Unterschiede sind von Bedeutung, wenn es darum geht, die Konsistenz über verschiedene Plattformen hinweg zu wahren oder wenn eine genaue Kontrolle über die Zellabmessungen erforderlich ist.

Wie unterscheiden sich Zeilen?

Die Funktion für die automatische Anpassung der Zeilenhöhe von Excel wendet auf die Zellen eine spürbare Auffüllung oben und unten an. IronXL bietet eine präzise Kontrolle über die Zeilenhöhen und berechnet den exakten Platz, der für den Inhalt benötigt wird, ohne zusätzliche Füllung. Dieser Unterschied ist von Bedeutung, wenn mit dicht gepackten Daten gearbeitet wird oder wenn präzise Drucklayouts erforderlich sind.

Vergleich zwischen Excel und IronXL bei der automatischen Größenanpassung mit unterschiedlicher Zeilenbehandlung für identische Testdaten

Wie unterscheiden sich Spalten?

Die Funktion zur automatischen Anpassung der Spaltenbreite von Excel fügt den Zellen linke und rechte Füllung hinzu, wenn auch weniger auffällig. IronXL focuses on exact content width, beneficial when working with automated reporting systems where space optimization is crucial.

Vergleich der automatischen Größenanpassung von Excel- und IronXL-Spalten mit unterschiedlichen Breitenmaßen bei identischem Inhalt

Wie kann ich die Höhe und Breite manuell anpassen?

Neben der Verwendung der Methoden AutoSizeRow und AutoSizeColumn zur automatischen Berechnung und Anpassung der Abmessungen können Sie die Breite und Höhe von Spalten und Zeilen auch manuell anpassen, um bestimmte Anforderungen zu erfüllen. Die manuelle Größenbestimmung ist nützlich, wenn standardisierte Berichtsformate implementiert oder mit Vorlagen gearbeitet wird, die bestimmte Abmessungen erfordern.

  • Höhe anpassen: Setzen Sie die Höhe Eigenschaft von RangeRow
  • Breite anpassen: Setzen Sie die Eigenschaft Width von 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");
$vbLabelText   $csharpLabel

Welche Einheiten werden in Excel für Höhe und Breite verwendet?

Die Maßeinheiten für Höhe und Breite in Excel sind unterschiedlich. Die Höhe wird in 1/20 eines Punktes gemessen, während die Breite auf der Anzahl der "0 "s basiert, die in eine Zelle passen, wenn die Schriftart im Normal-Stil verwendet wird. When working with IronXL's API, understanding these conversions is essential for precise layouts.

Um die Umrechnung von Einheiten zu vereinfachen, interpretieren Sie IronXL-Werte als Anzeigepixel in Microsoft Excel. Ein Pixel ist definiert als 1/96 eines Zolls, unabhängig von der Bildschirmauflösung. Excel ist auflösungsunabhängig und hängt nicht von physischen Pixeln ab.

Das Verhältnis zwischen IronXL und den Höhen- und Breitenmaßen von Excel:

  • Höhe: RangeRow.Height = 10 ergibt etwa 1 Pixel
  • Breite: RangeColumn.Width = 23.255 entspricht 1 Pixel

Für Entwickler, die eine präzise Steuerung des Tabellenkalkulationslayouts benötigen, ermöglichen diese Umrechnungsfaktoren genaue Maßberechnungen. In Kombination mit anderen Formatierungsfunktionen bietet die manuelle Größenanpassung die vollständige Kontrolle über das Aussehen von Excel-Dokumenten. Remember to apply your license key when deploying applications using these features in production.

Häufig gestellte Fragen

Wie kann ich in C# die Größe von Excel-Zeilen auf der Grundlage des Zellinhalts automatisch anpassen?

IronXL bietet die AutoSizeRow-Methode zur automatischen Anpassung der Zeilenhöhen anhand des Zellinhalts. Rufen Sie einfach workSheet.AutoSizeRow(rowIndex, includeMergedCells) auf, wobei rowIndex die Null-basierte Zeilennummer ist. Die Methode berechnet die optimale Höhe auf der Grundlage von Schriftgröße, Zellinhalt und Formatierungsattributen und stellt sicher, dass der gesamte Text ohne Abschneiden sichtbar ist.

Kann ich die Größe von Spalten in Excel-Tabellen programmgesteuert anpassen?

Ja, IronXL bietet die AutoSizeColumn-Methode zur automatischen Anpassung von Spaltenbreiten. Verwenden Sie workSheet.AutoSizeColumn(columnIndex, includeMergedCells), um die Größe von Spalten basierend auf ihrem längsten Inhalt anzupassen. Der Algorithmus berücksichtigt Textlänge, Zahlenformatierung, Datumsanzeigen und andere Zellformatierungen, um die optimale Breite zu bestimmen.

Funktioniert die automatische Größenanpassung bei zusammengeführten Zellen?

IronXL unterstützt die automatische Größenanpassung für zusammengeführte Zellen durch den booleschen Parameter in den Methoden AutoSizeRow und AutoSizeColumn. Setzen Sie den zweiten Parameter auf true (z.B. workSheet.AutoSizeColumn(0, true)), um die Berechnungen für zusammengeführte Zellen bei der Bestimmung der entsprechenden Abmessungen zu berücksichtigen.

Welche Faktoren werden bei der automatischen Größenanpassung von Zeilen und Spalten berücksichtigt?

Der IronXL-Algorithmus zur automatischen Größenanpassung berücksichtigt mehrere Faktoren, darunter Schriftartmetriken, Zellauffüllungen, Einstellungen für den Textumbruch, Zahlenformatierungen, Datumsanzeigen und Zellgrenzen. Dieser umfassende Ansatz sorgt für professionell aussehende Tabellenkalkulationen mit richtig dimensionierten Zellen, die alle Inhalte ohne manuelle Eingriffe aufnehmen können.

Muss Microsoft Excel installiert sein, um die Funktionen zur automatischen Größenanpassung nutzen zu können?

Nein, IronXL arbeitet unabhängig und erfordert keine Excel-Installation. Die Bibliothek führt alle Berechnungen intern durch und ist daher ideal für Serverumgebungen und Einsatzszenarien, in denen Excel nicht installiert werden kann. Dieser Ansatz funktioniert auf allen .NET-Plattformen.

Kann ich die Größe mehrerer Zeilen oder Spalten auf einmal automatisch anpassen?

Während die AutoSizeRow- und AutoSizeColumn-Methoden von IronXL mit einzelnen Zeilen/Spalten arbeiten, können Sie problemlos eine Schleife durch mehrere Elemente ziehen, um deren Größe zu ändern. Dies ermöglicht die Stapelverarbeitung ganzer Arbeitsblätter oder bestimmter Bereiche, wodurch Excel-Workflows effizient automatisiert werden.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,802,965 | Version: 2025.12 gerade veröffentlicht