Die gebräuchlichsten und am weitesten verbreiteten Dateiformate für Tabellenkalkulationen sind XLS, XLSX und ODS. Das berühmte Microsoft Excel und OpenOffice Calc unterstützen diese Formate und wir verwenden diese Formate normalerweise zur Verwaltung von Konten und verschiedenen Tabellenkalkulationen. Daher müssen wir als Entwickler häufig Excel-Dateien in unseren Anwendungen programmgesteuert bearbeiten. In diesem Artikel werden wir diskutieren, wie Excel-Dateien in C# mithilfe der .NET-API bearbeitet werden.

Die folgenden Themen werden in diesem Artikel kurz behandelt:

.NET-API für die Bearbeitung und Automatisierung von Excel-Tabellen

GroupDocs präsentiert die .NET-API für die Bearbeitung von Tabellenkalkulationen. Ich werde es in den C#-Beispielen dieses Artikels verwenden. Es ist die Dokumentbearbeitungs-API und ermöglicht es Entwicklern, verschiedene Dokumentformate mit WYSIWYG-HTML-Editoren zu laden, zu bearbeiten und zu speichern. Zusätzlich zu den Tabellenkalkulationsformaten XLS, XLSX und ODS unterstützt die API die Bearbeitung verschiedener anderer von Tabellenkalkulationen und MS Excel unterstützter Formate wie CSV, TSV, DSV, XLT, XLTX, XLTM, XLSM, XLSB, XLAM, SXC, SpreadsheetML, FODS, DIF.

Laden Sie das DLLs- oder MSI-Installationsprogramm aus dem Downloadbereich herunter oder installieren Sie die API in Ihrer .NET-Anwendung über NuGet.

PM> Install-Package GroupDocs.Editor

Excel-Dateien in C# bearbeiten

Ich hoffe, Sie haben erfolgreich auf die API verwiesen. Jetzt können Sie schnell mit der Bearbeitung Ihrer Excel-Dokumente beginnen. Mit den folgenden Schritten können Sie die Tabellenkalkulationsdokumente mit C# bearbeiten.

  • Laden Sie die Excel-Datei.
  • Bearbeiten entsprechend mit Optionen.
  • Speichern Sie das bearbeitete Dokument.

Laden Sie die Excel-Tabelle

Laden Sie zunächst die Tabelle, indem Sie den Dokumentpfad/Stream und das Passwort angeben (wenn das Dokument passwortgeschützt ist).

// Laden Sie die Excel-Datei mit C#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any

// Laden Sie die Tabelle
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

Bearbeiten Sie die Excel-Datei

Nach dem Laden können Sie die geladene Tabelle nach Bedarf bearbeiten. Jetzt ersetzen wir alle Vorkommen von „Old Company Name“ durch „New Company Name“ auf der ersten Registerkarte der Tabelle. Mit den folgenden Schritten können Sie die Excel-Datei in C# entsprechend bearbeiten.

  • Laden Sie die Excel-Datei mit Editor und loading options.
  • Bereiten Sie die Spreadsheet-Bearbeitungsoptionen vor, um das genaue Blatt/den genauen Tab zu extrahieren.
  • Extract den Inhalt der Registerkarte.
  • Ändern Sie den Inhalt der Registerkarte.
  • Sie können die Bilder und alle Ressourcen aus der ausgewählten Registerkarte extrahieren.
  • Erstellen Sie das neue EditableDocument mit dem geänderten Inhalt.
  • Speichern Sie die Bearbeitungstabelle mit der entsprechenden Methode Save().

Der folgende C#-Quellcode bearbeitet die Excel-Datei und ändert ihren Inhalt.

// Bearbeiten Sie die Excel-Tabelle mit C#

Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "Passwort";

// Laden Sie die Tabelle
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

// Holen Sie sich die erste Registerkarte der Tabelle
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet

// Rufen Sie HTML-Markup von einer EditableDocument-Instanz ab
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML -> BODY element
string allContent = firstTab.GetContent();      // Full HTML markup of all document, with HTML -> HEAD header and all its content

List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;

string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);

Speichern Sie die bearbeitete Excel-Datei mit Optionen

Nach der Bearbeitung können Sie beim Speichern des bearbeiteten Tabelleninhalts verschiedene Optionen festlegen. Zu diesen Optionen gehören; Kennwort, Ausgabeformat, Schutz usw. festlegen. Ich stelle die obigen Optionen im unten genannten Code ein und speichere die bearbeitete Tabelle als passwortgeschützte und schreibgeschützte XLSX-Datei.

// Speichern Sie die Excel-Datei mit dem aktualisierten Inhalt mit C#
// Erstellen Sie Speicheroptionen
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);

// Legen Sie ein neues Öffnungspasswort fest
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");

// Ausgabestrom erstellen
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
    editor.Save(afterEdit, outputStream, saveOptions);
}

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Abschließend haben wir besprochen, wie Sie Excel-Dokumente in C# mithilfe der Dokumentbearbeitungs-API für .NET-Anwendungen bearbeiten. Sie können die API mit den WYSIWYG-Editoren für die visuelle Bearbeitung Ihrer Dokumente verwenden. Danach können Sie fortfahren, um Ihren eigenen Online-Tabellenkalkulationseditor zu erstellen.

Weitere Einzelheiten, Optionen und Beispiele finden Sie in der Dokumentation und im GitHub-Repository . Wenden Sie sich bei weiteren Fragen an den Support im Forum.

Zum Thema passende Artikel

Siehe auch