Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Excel-Dateien schreiben und Content Management Systeme

Zwei Bibliotheken, um Excel-Dateien zu schreiben. Im Schwerpunkt gibt es jeden Menge CMS auf Basis von .NET.
Was wäre die Welt ohne Excel. Die Tabellenkalkulation wird nicht nur verwendet, um Berechnungen in tabellarischer Form auszuführen. Nein, es muss auch für Texttabellen, Layoutversuche und die Datenanalyse herhalten. Selbst als Build-Tool für den Zusammenbau von Programmen wird die Tabellenkalkulation missbraucht.

Content Management Systeme

Diese Ausgabe der dotnetpro ist getränkt mit Content Management Systemen (CMS). Im Schwerpunkt des Hefts geht es eher um die kleinen CMS, die sich eben mal für ein Projekt aufsetzen lassen. Und der Schwerpunkt des Downloads beschäftigt sich mit den großen, gutausgestatteten CMS. Die Liste besteht hier zu einem großen Teil aus Systemen auf Basis von .NET oder sogar .NET Core.
Kaum verwunderlich, dass bei diesem breiten Spektrum an Einsatzmöglichkeiten der Wunsch groß ist, Excel-Dateien aus einem Programm heraus zu erzeugen. Mit .NET-Bibliotheken wie ClosedXML oder EPPlus ist das kein Problem. Mit wenigen Zeilen Code definiert man ein neues Worksheet, füllt Zellen und speichert das Worksheet in einer xlsx-Datei.Bei ClosedXML sieht das so aus
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">MClosedXML</span>(<span class="hljs-params"></span>)</span>
{
  <span class="hljs-keyword">var</span> workbook = <span class="hljs-keyword">new</span> XLWorkbook();
  <span class="hljs-keyword">var</span> worksheet = workbook.Worksheets.Add(<span class="hljs-string">"Sample Sheet"</span>);
  worksheet.Cell(<span class="hljs-string">"A1"</span>).Value = <span class="hljs-string">"Hello dotnetpro World!"</span>;
  worksheet.Cell(<span class="hljs-string">"B1"</span>).Value = <span class="hljs-number">42</span>;
  worksheet.Columns().AdjustToContents();
  workbook.SaveAs(<span class="hljs-string">"closedxml.xlsx"</span>);
} 
und bei EPPlus so
<span class="hljs-keyword">public</span> MEPPlus()
{
  <span class="hljs-keyword">using</span> (<span class="hljs-keyword">var</span> <span class="hljs-keyword">package</span> = <span class="hljs-keyword">new</span> <span class="hljs-type">ExcelPackage</span>())
  {
    ExcelWorksheet worksheet = <span class="hljs-keyword">package</span>.Workbook.Worksheets.Add(<span class="hljs-string">"Inventory"</span>);
    worksheet.Cells[<span class="hljs-number">1</span>, <span class="hljs-number">1</span>].Value = <span class="hljs-string">"Hello dotnetpro World!"</span>;
    worksheet.Cells[<span class="hljs-number">1</span>, <span class="hljs-number">2</span>].Value = <span class="hljs-number">42</span>;
    FileInfo xlFile = <span class="hljs-keyword">new</span> <span class="hljs-type">FileInfo</span>(<span class="hljs-string">"epplus.xlsx"</span>);
    <span class="hljs-keyword">package</span>.SaveAs(xlFile);
  }
} 
Die Unterschiede sind – wie zu sehen ist – marginal. In einem kurzen Versuch war EPPlus etwa doppelt so schnell wie ClosedXML. Allerdings kann das bei anderen Worksheet-Inhalten auch anders aussehen.
Beide Bibliotheken lassen sich über NuGet per
Install-<span class="hljs-keyword">Package</span> <span class="hljs-title">ClosedXML</span> 
beziehungsweise
Install-<span class="hljs-keyword">Package</span> <span class="hljs-title">EPPLus</span> 
installieren.

NETworkManager

Manchmal geht alles schief und der Client findet den Host nicht. In so einem Fall kann der NETworkManager helfen. Das Tool fungiert beispielsweise als IP-Scanner oder als Port-Scanner. Es lassen sich also damit offene Ports einer bestimmten IP-Adresse finden. Außerdem ermittelt das Programm Informationen über das Netzwerk-Interface.

Schwerpunkt

<b>Orchard CMS </b><br/>Orchard ist ein kostenloses, Open-Source-CMS, das auf der ASP.NET-MVC-Plattform basiert.<br/><a href="https://orchardproject.net" rel="noopener" target="_blank">https://orchardproject.net</a>

Aktuelle Downloads

<b>Orchard-Scripting-Extensions-DotNet</b><br/>Ein Modul für Orchard Scripting Extensions zum Ausführen von C# sowie Visual Basic Code in Orchard.<br/><a href="https://github.com/Lombiq/Orchard-Scripting-Extensions-DotNet" rel="noopener" target="_blank">https://github.com/Lombiq/Orchard-Scripting-Extensions-DotNet</a>

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Bausteine guter Architektur - Entwurf und Entwicklung wartbarer Softwaresysteme, Teil 2
Code sauberer gestalten anhand von wenigen Patterns und Grundhaltungen.
6 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige