Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Zellen in Excel mit C# automatisch anpasst

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

IronXL library from Die Iron Software bietet intuitive APIs für die nahtlose Verarbeitung von Excel-Dokumenten sowohl in C# .NET- als auch in VB.NET-Umgebungen. Mit IronXL ist es nicht erforderlich, Microsoft Office oder Excel-Interop-Komponenten zu installieren. Es ermöglicht Entwicklern, Excel-Tabellendateien mühelos zu lesen, zu bearbeiten und zu erstellen 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 wir, wie Sie die Spaltenbreite und -höhe in Excel mit C# und IronXL automatisch anpassen.

  1. Erstellen Sie ein Visual Studio-Projekt, um Autofit-Zellen im Excel-Arbeitsblatt zu demonstrieren.
  2. Installieren Sie die IronXL-Bibliothek im Projekt.
  3. Passen Sie die Spaltenbreite mit der IronXL-Bibliothek automatisch an.
  4. Passen Sie die Zeilenhöhe mit der IronXL-Bibliothek automatisch an.
  5. Legen Sie die Spaltenbreite und Zeilenhöhe manuell mit der IronXL-Bibliothek fest.

IronXL

Die IronXL-Bibliothek ist eine vielseitige .NET-Bibliothek, die entwickelt wurde, um die Manipulation von Excel-Tabellen für C#-Entwickler zu vereinfachen. Mit einer schnellen und intuitiven API ermöglicht IronXL den Benutzern, Excel-Dateien mühelos zu zugreifen, zu modifizieren und zu generieren, ohne auf Office Interop angewiesen zu sein. Seine Kompatibilität erstreckt sich auf verschiedene .NET-Frameworks, einschließlich .NET Core und Azure, ohne spezielle Abhängigkeiten oder die Installation von Microsoft Office zu erfordern. Mit Unterstützung für mehrere .NET-Sprachen wie C#, VB.NET und F# deckt IronXL eine breite Palette von Entwicklungsszenarien ab, einschließlich Konsolen-, Web- und Desktop-Anwendungen. Darüber hinaus erstreckt sich die Kompatibilität von IronXL über verschiedene Plattformen, darunter Windows, Linux, macOS, Docker, Azure und AWS, was es zu einem unverzichtbaren Werkzeug für Entwickler macht, die eine effiziente Excel-Integration in verschiedenen Umgebungen suchen.

Wichtige Merkmale der IronXL-Bibliothek

  1. Einfache Integration: IronXL integriert sich nahtlos in C#-Anwendungen und bietet eine einfache und intuitive API für die Excel-Automatisierung. Entwickler können schnell anfangen, ohne eine große Lernkurve zu bewältigen.
  2. Excel-Dateien lesen und schreiben: Mit IronXL können Sie Daten mühelos aus vorhandenen Excel-Dateien lesen und Daten in neue oder vorhandene Tabellen schreiben. Diese Fähigkeit ist wesentlich für Aufgaben wie Datenimport/-export und Berichtserstellung.
  3. Formatierung und Stil: IronXL ermöglicht es, Formatierungen und Stile auf Excel-Zellen anzuwenden, einschließlich Schriftarten, Farben, Ränder und mehr. Dies stellt sicher, dass Ihre generierten Excel-Dateien ein professionelles und poliertes Aussehen beibehalten.
  4. Formelunterstützung: Müssen Sie komplexe Berechnungen durchführen oder Formeln auf Excel-Daten anwenden? IronXL bietet Unterstützung für Excel-Formeln, die es Ihnen ermöglicht, Berechnungen und Datenmanipulationen zu automatisieren.
  5. Autofit-Zellen: Eine der praktischen Funktionen, die IronXL bietet, ist die Möglichkeit, Zellen in Excel so anzupassen, dass der Inhalt ordentlich in jede Zelle passt, ohne abgeschnitten zu werden.

Schritt 1: Erstellen Sie ein Visual Studio-Projekt, um die Autofit-Zellen im Excel-Arbeitsblatt zu demonstrieren.

Um loszulegen, erstellen wir ein Visual Studio-Projekt wie folgt. Wählen Sie die Konsolenanwendungsvorlage aus der Liste aus

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

Geben Sie einen Projektnamen und einen Speicherort an

Wie man Zellen in Excel mit C# anpasst: Abbildung 2 - Geben Sie als Nächstes den Projektnamen und den Speicherort an.

Wählen Sie die erforderliche .NET-Version aus der Dropdown-Liste aus und klicken Sie auf Erstellen

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

Schritt 2: Installieren Sie die IronXL-Bibliothek im Projekt.

Installieren Sie die IronXL-Bibliothek aus dem Visual Studio NuGet-Paketmanager

Wie man Zellen in Excel mit C# anpasst: Abbildung 4 - Installieren Sie IronXL mit der NuGet-Paketverwaltung für die Lösung, indem Sie IronXL in der Suchleiste des NuGet-Paketmanagers suchen, dann 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
SHELL

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

Damit sind wir bereit, mit dem Codieren zu beginnen.

Schritt 3: Passen Sie die Spaltenbreite mit der IronXL-Bibliothek automatisch an

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

Sehen wir uns nun an, wie wir dies verwenden können, um eine Excel-Datei zu ändern. Sie können eine Beispieldatei von hier herunterladen.

Eingabedatei

Hier kann man sehen, dass die Spaltenbreiten nicht richtig definiert sind und es daher sehr schwer zu lesen ist. Nun lassen Sie uns sehen, wie wir die IronXL-Bibliothek nutzen können, um Spaltenbreiten in einem Excel-Blatt automatisch anzupassen.

Wie man Zellen in Excel mit C# anpasst: Abbildung 6 - Eingabedatei

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);
}

// Save the autofitted workbook as a new file
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);
}

// Save the autofitted workbook as a new file
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

' Save the autofitted workbook as a new file
workBook.SaveAs("autoResize.xlsx") ' Result file
$vbLabelText   $csharpLabel

Codeerklärung

  1. Zunächst laden wir die FinancialSample.xlsx mit der WorkBook.Load()-Methode.
  2. Dann erhalten wir die Anzahl der Spalten für Anpassungen.
  3. Wir durchlaufen alle Spaltenindizes, um die Spaltenbreiten automatisch anzupassen.
  4. Schließlich speichern wir die Ergebnisse in einer neuen Datei namens autoResize.xlsx.

Ausgabedatei

Unten können Sie sehen, dass alle Spalten automatisch angepasst und sichtbar sind.

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

Schritt 4: Passen Sie die Zeilenhöhe mit der IronXL-Bibliothek automatisch an

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

Eingabe-Excel-Datei

Im untenstehenden Beispiel sehen Sie, dass einige der Zeilen nicht richtig dimensioniert sind, um die Daten angemessen zu erfassen. Nun werfen wir einen Blick auf den C#-Code, um die Excel-Zeilenhöhen automatisch anzupassen.

Wie man Zellen in Excel mit C# anpasst: Abbildung 8 - Eingabedatei

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++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
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++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
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
	' Auto-fit row height for index i
	workSheet.AutoSizeRow(i)
Next i

' Save the autofitted workbook as a new file
workBook.SaveAs("autoResizeRows.xlsx") ' Result file
$vbLabelText   $csharpLabel

Codeerklärung

  1. Zunächst laden wir die FinancialSample.xlsx mit der WorkBook.Load()-Methode.
  2. Wir holen uns die Gesamtzeilenanzahl.
  3. Wir durchlaufen alle Zeilenindizes, um die Zeilenhöhen automatisch anzupassen.
  4. Schließlich speichern wir die Ergebnisse in einer neuen Datei namens autoResizeRows.xlsx.

Ausgabedatei

Wie man Zellen in Excel mit C# anpasst: Abbildung 9 - Ausgabe-Excel mit automatisch angepasster Zeilenhöhe.

Schritt 5: Stellen Sie die Spaltenbreite und Zeilenhöhe manuell mit IronXL ein

Zusätzlich zur automatischen Anpassung von Zeilen und Spalten bietet IronXL auch die Möglichkeit zum manuellen Einstellen der Breite und Höhe auf einen bestimmten Zeilenhöhenwert und einen spezifischen Spaltenbreitenwert.

Eingabe-Excel-Datei

Wie man Zellen in Excel mit C# anpasst: Abbildung 10 - Eingabedatei

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Manually set row height and column width
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width

' Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx")
$vbLabelText   $csharpLabel

Codeerklärung

  1. Laden Sie die FinancialSample.xlsx mit der WorkBook.Load()-Funktion.
  2. Rufen Sie bestimmte Zeilen und Spalten ab, um deren Höhe und Breite manuell anzupassen.
  3. Stellen Sie die gewünschte Höhe und Breite ein.
  4. Speichern Sie die bearbeitete Datei unter dem Namen specificValue.xlsx.

Ausgabedatei

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

Lizenzierung

Erhalten Sie eine kostenlose Testversion, um alle Funktionen von IronXL 30 Tage lang kostenlos zu nutzen.

Die erhaltene Lizenz muss in der Datei appSettings.json platziert werden:

{
  "IronXL.License.LicenseKey": "myTrialKey"
}

Abschluss

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

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

Im Wesentlichen befähigt IronXL Entwickler, die Produktivität, Genauigkeit und Flexibilität in Excel-Automationsprojekten zu steigern, indem eine umfassende Suite von Funktionen angeboten wird, um den Anforderungen der modernen C#-Entwicklung gerecht zu werden. Ob es darum geht, Berichte zu erstellen, Daten zu analysieren oder Informationen zu präsentieren, bietet IronXL die notwendigen Werkzeuge, um in der Excel-Automation innerhalb des C#-Ecosystems zu glänzen.

Häufig gestellte Fragen

Wie kann ich Zellen in Excel mit C# automatisch anpassen?

Um Zellen in Excel mit C# automatisch anzupassen, nutzen Sie die Methoden AutoSizeColumn und AutoSizeRow von IronXL, die Spaltenbreiten und Zeilenhöhen automatisch an den Inhalt anpassen.

Was sind die Vorteile einer .NET-Bibliothek für die Excel-Automatisierung?

Die Verwendung einer .NET-Bibliothek wie IronXL für die Excel-Automatisierung vereinfacht Aufgaben wie das Lesen, Schreiben und Formatieren von Excel-Dateien, ohne dass Microsoft Office-Installationen erforderlich sind. Es erhöht die Produktivität und Genauigkeit in C#-Anwendungen.

Wie kann ich die Spaltenbreite und Zeilenhöhe in Excel mit C# manuell anpassen?

Mit IronXL können Sie die Spaltenbreite und Zeilenhöhe manuell anpassen, indem Sie die Methoden GetColumn und GetRow verwenden, um spezifische Spalten und Zeilen zu zielen und dann deren Width- und Height-Eigenschaften festzulegen.

Ist IronXL mit .NET Core-Projekten kompatibel?

Ja, IronXL ist vollständig mit .NET Core-Projekten kompatibel und ermöglicht es Entwicklern, Excel-Automatisierungsfunktionen nahtlos in moderne .NET-Umgebungen zu integrieren.

Wie installiere ich IronXL in einem .NET-Projekt?

Um IronXL in einem .NET-Projekt zu installieren, verwenden Sie den Visual Studio NuGet-Paketmanager oder führen Sie den Befehl dotnet add package IronXL.Excel in der Befehlszeile aus.

Kann ich IronXL verwenden, ohne Excel auf meinem Computer installiert zu haben?

Ja, IronXL ermöglicht es Ihnen, mit Excel-Dateien programmatisch in C# zu arbeiten, ohne dass Microsoft Excel auf Ihrem Computer installiert sein muss.

Was soll ich tun, wenn ich eine Schriftartausnahme beim automatischen Anpassen von Zellen bekomme?

Wenn Sie auf eine SixLabors.Fonts.FontException beim automatischen Anpassen von Zellen stoßen, stellen Sie sicher, dass die erforderlichen Schriftarten auf Ihrem System verfügbar sind, da IronXL diese verwendet, um Textdimensionen zu berechnen.

Wie unterstützt IronXL mehrere .NET-Sprachen?

IronXL unterstützt mehrere .NET-Sprachen wie C#, VB.NET und F# und bietet Entwicklern in verschiedenen Programmierumgebungen Vielseitigkeit und Flexibilität.

Wo füge ich den IronXL-Lizenzschlüssel in meinem Projekt hinzu?

Der IronXL-Lizenzschlüssel sollte in die appSettings.json-Datei Ihres Projekts unter dem Schlüssel 'IronXL.License.LicenseKey' hinzugefügt werden, um Premium-Funktionen zu aktivieren.

Was sind einige Hauptfunktionen von IronXL zur Excel-Automatisierung?

IronXL bietet Schlüsselfunktionen wie einfache Integration mit C#-Anwendungen, Lesen und Schreiben von Excel-Dateien, Anwenden von Formatierungen, Unterstützung für Excel-Formeln und automatisches Anpassen von Zellen, um die Inhaltsdarstellung zu optimieren.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen