Downloads 18.06.2018, 00:00 Uhr

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
public MClosedXML()
{
  var workbook = new XLWorkbook();
  var worksheet = workbook.Worksheets.Add("Sample Sheet");
  worksheet.Cell("A1").Value = "Hello dotnetpro World!";
  worksheet.Cell("B1").Value = 42;
  worksheet.Columns().AdjustToContents();
  workbook.SaveAs("closedxml.xlsx");
}
und bei EPPlus so
public MEPPlus()
{
  using (var package = new ExcelPackage())
  {
    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Inventory");
    worksheet.Cells[1, 1].Value = "Hello dotnetpro World!";
    worksheet.Cells[1, 2].Value = 42;
    FileInfo xlFile = new FileInfo("epplus.xlsx");
    package.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-Package ClosedXML
beziehungsweise
Install-Package EPPLus
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
Orchard CMS
Orchard ist ein kostenloses, Open-Source-CMS, das auf der ASP.NET-MVC-Plattform basiert.
https://orchardproject.net
Hive IT
Hive IT ist ein Content Management System, das als Back-end für eine imaginäre Reparaturfirma mobiler Geräte funktioniert. Hive IT wurde erstellt in ASP.NET Core 2.0 und C# unter Verwendung von Visual Studio 2017.
https://github.com/JVCounsell/Hive-IT
HiPCMS
HiP-CmsWebApi ist ein Content Management System, um das System 'History in Paderborn' mit Daten zu füllen. Dies ist nur ein REST API mit Service-Endpunkten. Es entsteht auch eine Angular-Client-Applikation, die auf das REST API zugreifen soll.
https://github.com/HiP-App/HiP-CmsWebApi
Hood
Das Hood CMS ist ein komplettes Content Management System und damit ein solider Backbone für jede Website.
https://github.com/HoodDigital/Hood
mojoPortal
mojoPortal ist ein erweiterbares, datenbankübergreifendes, Mobile-freundliches Web Content Management System (CMS) sowie Webanwendungs-Framework geschrieben in C# und ASP.NET.
https://github.com/i7MEDIA/mojoportal
Umbraco
Umbraco ist ein voll ausgestattetes, Open-Source-Content-Management-System. Es ist vor allem wegen seiner Flexibilität beliebt. Verwenden Sie Umbraco kostenlos.
https://github.com/umbraco/Umbraco-CMS
Tent
Tent ist ein kleines Content Management System (CMS). Es ist "just for fun" entstanden und in einem frühen Stadium. Ziel ist es, auf schnelle und einfache Weise einen neuen Contenttyp zu erstellen mit Datenzugang für Entwickler sowie Screens für Editoren.
https://github.com/livingcodes/tent
Kaliko CMS
Kaliko CMS ist ein Open-Source-Content-Management-System (CMS) für die ASP.NET-Plattform und unzterstützt sowohl ASP.NET MVC als auch traditionelle WebForms.
https://github.com/KalikoCMS/KalikoCMS.Core
RazorEngineCms
Content Management System erstellt auf Basis der Razor Engine. Dieses Projekt gehört nicht zur Razor Engine, verwendet sie aber zum Kompilieren von Templates.
https://github.com/jbenzshawel/RazorEngineCms
DNN Platform
DNN Platform ist ein freies Open-Source-.NET-CMS und das Fundament der DNN Evoq Produktangebote. Über 750000 Organisationen weltweit haben mit der DNN Platform Webseiten erstellt.
http://www.dnnsoftware.com/community/download
SpoonCMS
Ein leichtes CMS in .NET Core für Seiteninhalte.
https://github.com/BenTMatthews/SpoonCMS
WordPress
WordPress ist eine freie Webanwendung zur Verwaltung der Inhalte einer Website (wie z.B. Texte und Bilder, aber auch Audio- und Video-Dateien). Sie bietet sich besonders zum Aufbau und zur Pflege eines Weblogs an, da sie jeden Beitrag einer oder mehreren frei erstellbaren Kategorien zuweisen kann und dazu automatisch die entsprechenden Navigationselemente erzeugt. Parallel kann WordPress auch hierarchische Seiten verwalten und gestattet den Einsatz als Content-Management-System (CMS).
https://wordpress.org
cmbird
Ein kleines NodeJS-basiertes Content Management System, das flexibel, schnell und stabil sein soll.
https://github.com/Qualphey/cmbird
Joomla
Joomla! Ist ein Content Management System (CMS) zum Erstellen von Webseiten und leistungsstarker Onlineanwendungen. Es ist eine einfache und starke Webserverapplikation, die einen Server mit PHP sowie MySQL, PostgreSQL oder SQL Server benötigt, um zu laufen.
https://www.joomla.org/
dotCMS
dotCMS ist ein skalierbares, Java-basiertes, Open-Source-Content-Management-System, das personalisierte Informationen ausliefern soll.dotCMS kann als Platform dienen für Seiten, Mobile Apps, Mini-Seiten, Portale, Intranets oder als kopfloses CMS (Content wird verbraucht über RESTful APIs).
https://github.com/dotCMS/core
OpenCms
OpenCms von Alkacon Software ist ein professionelles, einfach anzuwendendes Website Content Management System. OpenCms hilft Anwendern weltweit, ansprechende Websites schnell und effizient zu erzeugen und zu verwalten.
http://www.opencms.org/de/
Aktuelle Downloads
Orchard-Scripting-Extensions-DotNet
Ein Modul für Orchard Scripting Extensions zum Ausführen von C# sowie Visual Basic Code in Orchard.
https://github.com/Lombiq/Orchard-Scripting-Extensions-DotNet
Awesome .NET Core
Eine Sammlung .NET Core Libraries, Tools, Frameworks sowie Software
https://github.com/thangchung/awesome-dotnet-core
ReactiveUI
Ein erweitertes, zusammensetzbares, funktionelles reaktives Model-View-Viewmodel-Framework für alle .NET-Plattformen, das auf reaktiver Programmierung basiert.
https://github.com/reactiveui/ReactiveUI
NETworkManager
Ein leistungsstarkes Tool zum Verwalten von Netzwerken und zum Lösen von Netzwerkproblemen.
https://github.com/BornToBeRoot/NETworkManager
OpenAPI.NET
Das OpenAPI.NET SDK enthält ein Objektmodell für OpenAPI-Dokumente in .NET zusammen mit gängigen Serialisierungsprogrammen zum Herausfiltern von OpenAPI JSON- sowie YAML-Rohdokumenten aus dem Modell.
https://github.com/Microsoft/OpenAPI.NET
.NET Command Line Interface
Dieses Repo enthält den Quellcode für die plattformübergreifende .NET-Core-Befehlszeilen-Tools.
https://github.com/dotnet/cli
Templates
ASP.NET Templates bieten Projekt-Templates, die in .NET Core zum Erstellen von ASP.NET Core-Anwendungen verwendet werden. Dieses Projekt ist Teil von ASP.NET Core und beinhaltet Samples, Dokumentation sowie Startanleitungen für ASP.NET Core.
https://github.com/aspnet/templating
ASP.NET Core MVC
ASP.NET Core MVC bietet eine leistungsstarke, pattern-basierte Möglichkeit zum Erstellen dynamischer Webseiten.
https://github.com/aspnet/Mvc
EPPlus
Erstellen Sie erweiterte Excel-Kalkulationstabellen unter Verwendung von .NET, ohne Interop zu benötigen. EPPlus ist eine .NET-Library zum Lesen und Schreiben von Exceldateien unter Verwendung des Office Open XML-Formats (xlsx).
https://github.com/JanKallman/EPPlus
Noda Time
Noda Time ist ein alternatives Datums- und Zeit-API für .NET.
https://nodatime.org
Sparky-Test-Helpers
.NET Unit Test Helper Libraries. Quellcode unter anderem für SparkyTestHelpers, SparkyTestHelpers.AppSettings und SparkyTestHelpers.AutoMapper.
https://github.com/BrianSchroer/sparky-test-helpers
Avalonia
Avalonia ist ein WPF-inspiriertes, plattformübergreifendes, XAML-basiertes UI-Framework und bietet ein flexibles Styling-System. Außerdem unterstützt es eine Vielzahl von Betriebssystemen: Windows (.NET Framework, .NET Core), Linux (GTK), MacOS, Android sowie iOS.
https://github.com/AvaloniaUI/Avalonia
Harmony
Eine Library zum Patchen, Ersetzen sowie Dekorieren von .NET- und Mono-Methoden während der Laufzeit. Harmony bietet eine elegante Möglichkeit auf hohem Level, um die Funktionalität in Applikationen, die in C#, geschrieben sind, zu ändern.
https://github.com/pardeike/Harmony
.NET Core Build Tools
Diese Repository enthält unterstützende Entwicklungstools, die nötig sind, um .NET-Core-Projekte zu erstellen. Diese Projekte nutzen die Erstellungstools über das korrespondierende Microsoft.DotNet.BuildTools NuGet-Package.
https://github.com/dotnet/buildtools
VanType
VanType ist eine Library zum Generieren von TypeScript Definitionsdateien für Ihre .NET-Modelle. Durch Verwendung dieser Library passen Ihre Client-Side-Modelle immer zu Ihren Server-Side-Modellen.
https://github.com/jgveire/VanType
ClosedXML
ClosedXML erleichtert Entwicklern das Erstellen von Excel 2007+Dateien (.xlsx, .xlsm, etc). Es bietet eine gute objektorientierte Möglichkeit, die Dateien zu manipulieren (ähnlich wie VBA), ohne sich mit XML-Dokumenten herumärgern zu müssen. Es kann verwendet werden von jeder .NET-Sprache wie C# und VisualBasic.NET.
https://github.com/ClosedXML/ClosedXML
.NET Core Libraries
Diese Repo enthält die Library-Implementierung ("CoreFX" genannt) für .NET Core. Sie beinhaltet System.Collections, System.IO, System.Xml, sowie viele weitere Komponenten. Die korrespondierende .NET Core Runtime Repo ("CoreCLR" genannt) enthält die Runtime Implementierung für .NET Core. Sie beinhaltet RyuJIT sowie andere Komponenten.
https://github.com/dotnet/corefx
Roslyn
Roslyn bietet Open-Source-C#- und Visual-Basic-Compiler mit umfangreichen Codeanalyse-APIs. Es ermöglicht das Erstellen von Codeanalysetools mit denselben APIs, die von Visual Studio verwendet werden.
https://github.com/dotnet/roslyn
Machine Learning für .NET
ML.NET ist ein plattformübergreifendes open-source Machine Learning Framework, das Machine Learning für .NET-Entwickler leicht zugänglich macht. ML.NET erlaubt .NET-Entwicklern das Erstellen eigener Modelle sowie das Einfließen lassen von maßgeschneidertem ML in ihre Applikationen. ML.NET wurde ursprünglich von Microsoft Research entwickelt.
https://github.com/dotnet/machinelearning
Mono
Mono ist eine Software-Plattform zum einfachen Erstellen plattformübergreifender Anwendungen. Es ist eine Open-Source-Implementierung von Microsofts .NET Framework basierend auf den ECMA-Standards für C# sowie Common Language Runtime.
https://github.com/mono/mono
Dokumente
Artikel als PDF herunterladen


Das könnte Sie auch interessieren