IRONXL VERWENDEN

Wie man Zellen in Excel mit C# automatisch einpasst

Regan Pun
Regan Pun
29. April 2024
Teilen Sie:

Einführung

In der heutigen datengesteuerten Welt ist Microsoft Excel ein unverzichtbares Werkzeug für Unternehmen und Fachleute gleichermaßen. Ob es um die Berechnung von Zahlen, die Erstellung von Berichten oder die Visualisierung von Daten geht, die Vielseitigkeit von Excel ist unübertroffen. Wenn es jedoch darum geht, Excel-Dateien in C# programmatisch zu bearbeiten, stehen Entwickler oft vor Herausforderungen. Hier kommt die IronXL-Bibliothek ins Spiel, die eine nahtlose Lösung für die Excel-Automatisierung innerhalb der C#-Umgebung bietet.

IronXL-Bibliothek von Iron Software bietet intuitive APIs für die nahtlose Verarbeitung von Excel-Dokumenten in sowohl C# .NET als auch VB.NET Umgebungen. Mit IronXL ist es nicht erforderlich, Microsoft Office oder Excel Interop Komponenten zu installieren. Es ermöglicht Entwicklern das mühelose Lesen, Bearbeiten und Erstellen von Excel-Tabellendateien und bietet volle Unterstützung für verschiedene .NET-Frameworks, einschließlich .NET 8, 7, 6, Core Frameworks und Azure-Umgebungen.

In diesem Artikel erfahren Sie, wie Sie die Spaltenbreite und -höhe in Excel mit C# und IronXL automatisch anpassen können.

1. Erstellen Sie ein Visual Studio-Projekt, um die Autofit-Zellen in einem Excel-Arbeitsblatt zu demonstrieren.

  1. Installieren Sie die IronXL-Bibliothek im Projekt.

  2. Spaltenbreite automatisch anpassen mit der IronXL-Bibliothek.

  3. Zeilenhöhe mit der IronXL-Bibliothek automatisch anpassen.

  4. Legen Sie die Spaltenbreite und Zeilenhöhe manuell mit der IronXL-Bibliothek fest.

IronXL

IronXL-Bibliothek ist eine vielseitige .NET-Bibliothek, die darauf ausgelegt ist, die Manipulation von Excel-Tabellen für C#-Entwickler zu vereinfachen. IronXL bietet eine schnelle und intuitive API, mit der Benutzer mühelos auf Excel-Dateien zugreifen, diese ändern und generieren können, ohne auf Office Interop angewiesen zu sein. Seine Kompatibilität erstreckt sich auf verschiedene .NET-Frameworks, einschließlich .NET Core und Azure, ohne dass spezielle Abhängigkeiten oder die Installation von Microsoft Office erforderlich sind. Durch die Unterstützung mehrerer .NET-Sprachen wie C#, VB.NET und F# eignet sich IronXL für eine breite Palette von Entwicklungsszenarien, einschließlich Konsolen-, Web- und Desktop-Anwendungen. Darüber hinaus ist IronXL plattformübergreifend kompatibel, einschließlich Windows, Linux, macOS, Docker, Azure und AWS, was es zu einem unverzichtbaren Werkzeug für Entwickler macht, die eine effiziente Excel-Integration in unterschiedlichen Umgebungen anstreben.

Hauptmerkmale der IronXL-Bibliothek

  1. Einfache Integration: IronXL lässt sich nahtlos in C#-Anwendungen integrieren und bietet eine einfache und intuitive API für die Excel-Automatisierung. Entwickler können mit einer minimalen Lernkurve schnell loslegen.

  2. Excel-Dateien lesen und schreiben: Mit IronXL können Sie mühelos Daten aus bestehenden Excel-Dateien auslesen und Daten in neue oder bereits vorhandene Tabellenblätter schreiben. Diese Fähigkeit ist für Aufgaben wie den Datenimport/-export und die Berichterstellung unerlässlich.

  3. Formatierung und Stil: IronXL ermöglicht es Ihnen, Formatierung und Stil auf Excel-Zellen anzuwenden, einschließlich Schriftarten, Farben, Rahmen und mehr. Dadurch wird sichergestellt, dass die von Ihnen erstellten Excel-Dateien ein professionelles und geschliffenes Aussehen erhalten.

  4. Formelunterstützung: Müssen Sie komplexe Berechnungen durchführen oder Formeln auf Excel-Daten anwenden? IronXL bietet Ihnen Unterstützung für Excel-Formeln, mit denen Sie Berechnungen und Datenmanipulationen automatisieren können.

  5. Automatische Anpassung von Zellen: Eine der praktischen Funktionen, die IronXL bietet, ist die Möglichkeit, Zellen in Excel automatisch anzupassen, sodass der Inhalt ohne Abschneiden sauber in jede Zelle passt.

Schritt 1: Erstellen Sie ein Visual Studio-Projekt zur Demonstration von Autofit Cells in einem Excel-Arbeitsblatt.

Um zu beginnen, erstellen wir ein Visual Studio-Projekt wie unten gezeigt. Wählen Sie die Vorlage für die Konsolenanwendung aus der Liste aus

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 1 - Öffnen Sie Visual Studio und fügen Sie ein neues Projekt vom Typ Konsolenanwendung in C# hinzu.

Geben Sie einen Projektnamen und einen Standort an

So passen Sie Zellen in Excel mit C# automatisch an: Abbildung 2 - Geben Sie als Nächstes den Projektnamen und den Speicherort an.

Wählen Sie die gewünschte .NET-Version aus der Dropdown-Liste und klicken Sie auf "Erstellen"

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 3 - Wählen Sie dann die erforderliche .NET Framework-Version und klicken Sie auf Erstellen.

Schritt 2: Installieren Sie die IronXL-Bibliothek in Ihr Projekt.

Installieren Sie die IronXL-Bibliothek über den Visual Studio NuGet-Paket-Manager

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 4 - Installieren Sie IronXL, indem Sie im NuGet-Paket-Manager nach IronXL suchen, das Projekt auswählen und auf die Schaltfläche Installieren klicken.

Das Paket kann auch über die NuGet-Befehlszeile installiert werden

dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
$vbLabelText   $csharpLabel

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 5 - IronXL.Excel NuGet-Paket

Damit sind wir bereit, mit der Codierung zu beginnen.

Schritt 3: Automatische Anpassung der Spaltenbreite mit der IronXL-Bibliothek

Die AutoSizeColumn-Methode aus der IronXL-Bibliothek passt die Breite einer Spalte an, um ihrem Inhalt gerecht zu werden. Diese Methode berechnet die Textbreite auf der Grundlage der in der Zelle verwendeten Schriftart. Wenn die genaue Schriftart nicht auf dem System verfügbar ist, wird versucht, sie mit einer Standardschriftart zu messen. Wenn keine Standardschriftart gefunden wird, wird versucht, eine beliebige verfügbare Schriftart zu verwenden. Wenn jedoch keine Schriftarten gefunden werden, wird eine Ausnahme ausgelöst. Sie verwendet einen nullbasierten Spaltenindex als Parameter. Es muss innerhalb der durch 0 und (ColumnCount - 1) definierten Grenzen liegen. ArgumentException wird ausgelöst, wenn der angegebene columnIndex außerhalb des gültigen Bereichs liegt. SixLabors.Fonts.FontException wird ausgelöst, wenn auf dem Computer keine Schriftarten installiert sind.

Nun, sehen wir, wie wir dies nutzen können, um eine Excel-Datei zu verkleinern. Sie können eine Beispieldatei von hier herunterladen.

Eingabe-Datei

Hier können Sie sehen, dass die Spaltenbreiten nicht richtig definiert sind und daher sehr schwer zu lesen sind. Jetzt wollen wir

sehen, wie wir die IronXL-Bibliothek zur automatischen Anpassung der Spaltenbreiten in einem Excel-Blatt verwenden können.

So passen Sie Zellen in Excel mit C# automatisch an: Abbildung 6 - Eingabedatei Excel

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{ 
    // auto fit column width for index i
    workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{ 
    // auto fit column width for index i
    workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private colCount = workSheet.Columns.Count()
For i As Integer = 0 To colCount - 1
	' auto fit column width for index i
	workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' result file
$vbLabelText   $csharpLabel

Code Erläuterung

  1. Zunächst laden wir die FinancialSample.xlsx mit der WorkBook.Load()-Methode.

  2. Dann erhalten wir den Zellbereich, für den die Spaltenbreiten angepasst werden müssen, in diesem Fall die Spaltenanzahl.

  3. Dann werden alle Indizes durchlaufen, um die Spaltenbreiten automatisch zu skalieren

  4. Dann speichern wir das Ergebnis in einer neuen Datei mit dem Namen autoResize.xlsx

Ausgabe-Datei

Unten sehen Sie, dass alle Spalten automatisch skaliert und sichtbar sind.

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 7 - Ausgabexcel mit automatisch angepasster Spaltenbreite.

Schritt 4: Automatische Anpassung der Reihenhöhe mit der IronXL-Bibliothek.

Die AutoSizeRow-Methode passt die Höhe einer Zeile an, um ihren Inhalt aufzunehmen. Es ist wichtig zu beachten, dass diese Methode die Texthöhe auf der Grundlage der in der Zelle verwendeten Schriftart berechnet. Wenn die genaue Schriftart nicht auf dem System verfügbar ist, wird versucht, sie mit einer Standardschriftart zu messen. Wenn keine Standardschriftart gefunden wird, wird versucht, eine beliebige verfügbare Schriftart zu verwenden. Wenn jedoch keine Schriftarten gefunden werden, wird eine Ausnahme ausgelöst. Sie verwendet einen nullbasierten Zeilenindex als Parameter. Es muss innerhalb der Grenzen definiert durch 0 und (RowCount - 1) liegen. Eine ArgumentException wird ausgelöst, wenn der angegebene rowIndex außerhalb des gültigen Bereichs liegt. SixLabors.Fonts.FontException wird ausgelöst, wenn keine Schriften auf dem Rechner installiert sind.

Excel-Datei eingeben

Im folgenden Beispiel sehen Sie, dass einige der Zeilen nicht die richtige Größe haben, um die Daten zu fixieren. Schauen wir uns nun den C#-Code für die automatische Anpassung der Excel-Zeilenhöhen an.

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 8 - Eingabe-Excel-Datei

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
    workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
    workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private rowCount = workSheet.RowCount
For i As Integer = 0 To rowCount - 1
	workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
$vbLabelText   $csharpLabel

Code Erläuterung

  1. Zunächst laden wir die FinancialSample.xlsx mithilfe der WorkBook.Load()-Methode.

  2. Dann erhalten wir den Zellbereich, für den die Zeilenhöhen angepasst werden müssen, in diesem Fall die Zeilenzahl.

  3. Dann werden alle Indizes durchlaufen, um die Zeilenhöhen automatisch zu skalieren

  4. Dann speichern wir das Ergebnis in einer neuen Datei mit dem Namen autoResizeRows.xlsx

Excel-Datei ausgeben

So passen Sie Zellen in Excel mit C# automatisch an: Abbildung 9 - Ausgabe-Excel mit automatisch angepasster Spaltenhöhe.

Schritt 5: Spaltenbreite und Zeilenhöhe mit IronXL manuell festlegen

Neben der automatischen Größenanpassung von Zeilen und Spalten bietet IronXL auch die Möglichkeit, die Breite und Höhe manuell auf einen bestimmten Wert für die Zeilenhöhe und eine bestimmte Spaltenbreite einzustellen

Excel-Datei eingeben

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 10 - Eingabe-Excel-Datei

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
$vbLabelText   $csharpLabel

Code Erläuterung

  1. Zunächst laden wir die FinancialSample.xlsx mithilfe der Funktion WorkBook.Load().

  2. Dann erhalten wir den Zellbereich, für den die Zeilenhöhen angepasst werden müssen, und auch den Zellbereich, für den die Spaltenbreiten angepasst werden müssen

  3. Dann setzen wir die Werte für Höhe und Breite

  4. Dann speichern wir das Ergebnis in einer neuen Datei mit dem Namen specificValue.xlsx

Excel-Datei ausgeben

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 11 - Ausgabe-Excel mit manuell angepasster Spaltenbreite und -höhe.

Lizenzvergabe

IronXL.

Die erhaltene Lizenz muss in der Datei appSettings.json eingetragen werden

{
  "IronXL.License.LicenseKey":"myTrialKey"
}
{
  "IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
  "IronXL.License.LicenseKey":"myTrialKey"
End If
$vbLabelText   $csharpLabel

Schlussfolgerung

Mit Funktionen wie AutoSizeColumn und AutoSizeRow von IronXL können Entwickler mühelos sicherstellen, dass Excel-Tabellen sich dynamisch an den enthaltenen Inhalt anpassen, sei es importierte Daten, dynamische Berichte, nutzergenerierte Inhalte oder Ergebnisse der Datenanalyse.

IronXL's Kompatibilität mit verschiedenen .NET-Frameworks, einschließlich .NET Core und Azure, stellt sicher, dass Entwickler Excel-Automatisierung in eine Vielzahl von Anwendungen integrieren können, ohne von Microsoft Office oder Excel Interop abhängig zu sein. Darüber hinaus macht IronXL's Unterstützung für mehrere .NET-Sprachen und Plattformen es zu einer vielseitigen Wahl für Entwickler, die Excel-Manipulationsaufgaben in verschiedenen Umgebungen optimieren möchten.

Im Wesentlichen befähigt IronXL Entwickler, die Produktivität, Genauigkeit und Flexibilität in Excel-Automatisierungsprojekten zu steigern, indem es eine umfassende Suite von Funktionen bietet, um den Anforderungen der modernen C#-Entwicklung gerecht zu werden. Ob es um die Erstellung von Berichten, die Analyse von Daten oder die Präsentation von Informationen geht, IronXL bietet die notwendigen Werkzeuge, um in der Excel-Automatisierung innerhalb des C#-Ökosystems zu brillieren.

Regan Pun
Software-Ingenieur
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS
Importieren von Excel in SQL Server in C#
NÄCHSTES >
Wie man eine Excel-Datei in Python analysiert

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >