IRONXL VERWENDEN

Wie man Zellen in Excel mit C# automatisch einpasst

Veröffentlicht 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. Dies ist der Ort, an dem 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 den nahtlosen Umgang mit 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 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 Autofit Cells in Excel-Arbeitsblättern zu demonstrieren.

  1. Installieren Sie IronXL bibliothek für das Projekt.

  2. Automatische Anpassung der Spaltenbreite mit der IronXL-Bibliothek.

  3. Automatische Anpassung der Reihenhöhe mit der Bibliothek IronXL.

  4. Spaltenbreite und Zeilenhöhe manuell mit der IronXL-Bibliothek festlegen.

IronXL

IronXL bibliothek ist eine vielseitige .NET-Bibliothek, die die Bearbeitung von Excel-Tabellen für C#-Entwickler vereinfacht. 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. Lesen und Schreiben von Excel-Dateien: Mit IronXL können Sie mühelos Daten aus bestehenden Excel-Dateien lesen und Daten in neue oder bestehende Tabellenblätter schreiben. Diese Fähigkeit ist für Aufgaben wie den Datenimport/-export und die Berichterstellung unerlässlich.

  3. Formatieren und Gestalten: IronXL ermöglicht es Ihnen, Excel-Zellen zu formatieren und zu gestalten, 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: Sie müssen 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. Autofit-Zellen: Eine der praktischen Funktionen von IronXL ist die automatische Anpassung von Zellen in Excel, die sicherstellt, dass der Inhalt sauber in jede Zelle passt, ohne abgeschnitten zu werden.

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 einpasst: 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

Wie man Zellen in Excel mit C# automatisch einpasst: Abbildung 2 - Geben Sie als nächstes den Projektnamen und den Standort 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 einpasst: Abbildung 3 - Wählen Sie dann die gewünschte .NET-Framework-Version aus und klicken Sie auf Erstellen.

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

Installieren Sie IronXL bibliothek von Visual Studio NuGet Package Manager

Wie man Zellen in Excel mit C# automatisch einpasst: Abbildung 4 - Installieren Sie IronXL mit dem NuGet-Paket für die Lösung verwalten, indem Sie in der Suchleiste des NuGet-Paketmanagers nach "IronXL" 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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
VB   C#

Wie man Zellen in Excel mit C# automatisch einpasst: 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 Methode AutoSizeColumn von IronXL bibliothek passt die Breite einer Spalte an ihren Inhalt an. 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. Er muss innerhalb der Grenzen von 0 und (SpalteZahl - 1). eine ArgumentException wird ausgelöst, wenn der angegebene columnIndex außerhalb des gültigen Bereichs liegt. die SixLabors.Fonts.FontException wird ausgelöst, wenn keine Schriftarten auf dem Rechner installiert sind.

Sehen wir uns nun an, wie wir damit die Größe einer Excel-Datei ändern können. Sie können eine Excel-Beispieldatei herunterladen unter hier.

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.

Wie man Zellen in Excel mit C# automatisch einpasst: Abbildung 6 - Excel-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);
}
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
VB   C#

Code Erläuterung

  1. Zunächst laden wir die Datei FinancialSample.xlsx mit 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 - Excel-Ausgabe mit automatisch angepasster Spaltenbreite.

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

Die Methode AutoSizeRow passt die Höhe einer Zeile an ihren Inhalt an. 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. Er muss innerhalb der Grenzen von 0 und (RowCount - 1). eine ArgumentException wird ausgelöst, wenn der angegebene rowIndex außerhalb des gültigen Bereichs liegt. SixLabors.Fonts.FontException** wird ausgelöst, wenn keine Schriftarten 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 einpasst: Abbildung 8 - Excel-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++)
{
    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
VB   C#

Code Erläuterung

  1. Zunächst laden wir die Datei FinancialSample.xlsx mit 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

Wie man Zellen in Excel mit C# automatisch anpasst: Abbildung 9 - Excel-Ausgabe 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 einpasst: Abbildung 10 - Excel-Eingabedatei

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")
VB   C#

Code Erläuterung

  1. Zunächst laden wir die Datei FinancialSample.xlsx mit WorkBook.Load() Funktion.

  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 - Excel-Ausgabe 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
VB   C#

Schlussfolgerung

Mit Funktionen wie AutoSizeColumn und AutoSizeRow von IronXLkönnen Entwickler mühelos sicherstellen, dass sich Excel-Tabellen dynamisch an den Inhalt anpassen, den sie enthalten, egal ob es sich um importierte Daten, dynamische Berichte, benutzergenerierte Inhalte oder Datenanalyseergebnisse handelt.

IronXLdie Kompatibilität von IronXL mit verschiedenen .NET-Frameworks, einschließlich .NET Core und Azure, stellt sicher, dass Entwickler die Excel-Automatisierung in ein breites Spektrum von Anwendungen integrieren können, ohne von Microsoft Office oder Excel Interop abhängig zu sein. Darüber hinaus ist IronXL durch die Unterstützung mehrerer .NET-Sprachen und -Plattformen eine vielseitige Wahl für Entwickler, die Excel-Bearbeitungsaufgaben in unterschiedlichen Umgebungen rationalisieren möchten.

Im Grunde genommen, IronXL gibt Entwicklern die Möglichkeit, die Produktivität, Genauigkeit und Flexibilität in Excel-Automatisierungsprojekten zu verbessern, und bietet eine umfassende Reihe von Funktionen, die den Anforderungen der modernen C#-Entwicklung entsprechen. 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 glänzen.

< PREVIOUS
Importieren von Excel in SQL Server in C#
NÄCHSTES >
Wie man eine Excel-Datei in Python analysiert

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

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >