Excel-bestanden maken in C# zonder Microsoft Office te installeren

Excel-bestanden maken in C# zonder Microsoft Office te installeren
Excel-bestanden maken in C# zonder Microsoft Office te installeren

Genereer naadloos Excel-bestanden in C#

Het maken van Excel-bestanden (.XLS en .XLSX) in C# kan voor veel toepassingen een cruciale vereiste zijn. Het kan echter onpraktisch en omslachtig zijn om te vertrouwen op de installatie van Microsoft Office op de server of clientcomputer.

Gelukkig zijn er robuuste bibliotheken en tools beschikbaar waarmee ontwikkelaars Excel-spreadsheets programmatisch in C# kunnen genereren zonder de noodzaak van Microsoft Office. In dit artikel worden de verschillende methoden en bibliotheken onderzocht om dit efficiënt te bereiken.

Commando Beschrijving
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Stelt de licentiecontext voor EPPlus in op niet-commercieel gebruik.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Creëert een nieuw werkblad met de naam "Blad1" in het Excel-pakket met behulp van EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Stelt de waarde van de cel in rij 1, kolom 1 in op "Hallo" met behulp van EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Initialiseert een nieuw werkmapexemplaar voor het maken van .XLSX-bestanden met behulp van NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Creëert een nieuw blad met de naam "Blad1" in de werkmap met behulp van NPOI.
IRow row = sheet.CreateRow(0); Creëert een nieuwe rij op index 0 in het blad met behulp van NPOI.
row.CreateCell(0).SetCellValue("Hello"); Stelt de waarde van de cel in rij 0, kolom 0 in op "Hallo" met behulp van NPOI.

Inzicht in het maken van Excel-bestanden in C#

De hierboven gegeven scripts laten zien hoe u Excel-bestanden (.XLS en .XLSX) in C# kunt maken zonder Microsoft Office te installeren, door gebruik te maken van twee populaire bibliotheken: EPPlus en NPOI. Het eerste script maakt gebruik van de EPPlus-bibliotheek. Het begint met het instellen van de licentiecontext voor EPPlus op niet-commercieel gebruik met de opdracht ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Dit garandeert naleving van de licentievoorwaarden van EPPlus. Vervolgens wordt er een nieuw exemplaar van het Excel-pakket gemaakt met behulp van using (var package = new ExcelPackage())en voegt een nieuw werkblad toe met de naam "Blad1" met behulp van var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Gegevens worden aan cellen toegevoegd door hun waarden rechtstreeks in te stellen, bijvoorbeeld worksheet.Cells[1, 1].Value = "Hello"; wijst de waarde "Hallo" toe aan de eerste cel in de eerste rij. Het bestand wordt vervolgens op de schijf opgeslagen met package.SaveAs(new FileInfo("example.xlsx"));, waarmee het proces voor het maken van Excel-bestanden wordt voltooid.

Het tweede script maakt gebruik van de NPOI-bibliotheek om een ​​Excel-bestand te maken. Het begint met het initialiseren van een nieuwe werkmapinstantie voor het maken van .XLSX-bestanden IWorkbook workbook = new XSSFWorkbook();. Er wordt een nieuw blad met de naam 'Blad1' in de werkmap gemaakt met behulp van ISheet sheet = workbook.CreateSheet("Sheet1");. Door te bellen worden rijen en cellen gemaakt en gevuld met gegevens IRow row = sheet.CreateRow(0); En row.CreateCell(0).SetCellValue("Hello");respectievelijk. De gemaakte werkmap wordt vervolgens naar een bestandsstroom geschreven en op de schijf opgeslagen met behulp van een FileStream verpakt in een using verklaring voor goed beheer van hulpbronnen. Eindelijk, Console.WriteLine("Excel file created successfully!"); stuurt een succesbericht naar de console. Deze scripts laten zien hoe krachtig en veelzijdig deze bibliotheken zijn voor het genereren van Excel-bestanden in C# zonder dat Microsoft Office geïnstalleerd hoeft te worden.

Excel-bestanden genereren met EPPlus in C#

Dit script demonstreert het maken van een Excel-bestand met behulp van de EPPlus-bibliotheek in C#.

using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells[1, 1].Value = "Hello";
                worksheet.Cells[1, 2].Value = "World";
                var file = new FileInfo("example.xlsx");
                package.SaveAs(file);
                Console.WriteLine("Excel file created successfully!");
            }
        }
    }
}

Excel-bestanden maken met NPOI in C#

Dit script laat zien hoe u de NPOI-bibliotheek kunt gebruiken om een ​​Excel-bestand in C# te maken.

using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            IRow row = sheet.CreateRow(0);
            row.CreateCell(0).SetCellValue("Hello");
            row.CreateCell(1).SetCellValue("World");
            using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
            {
                workbook.Write(file);
            }
            Console.WriteLine("Excel file created successfully!");
        }
    }
}

Excel-bestanden maken met ClosedXML in C#

Een andere uitstekende bibliotheek voor het maken van Excel-bestanden in C# zonder dat Microsoft Office nodig is, is ClosedXML. ClosedXML is een .NET-bibliotheek voor het lezen, manipuleren en schrijven van Excel 2007+ (.XLSX)-bestanden. Het is intuïtief en gemakkelijk te gebruiken, waardoor het een favoriet is onder ontwikkelaars. Met ClosedXML kunt u Excel-bestanden maken met rijke functies, zoals het opmaken van cellen, het toevoegen van formules en het maken van tabellen. Om ClosedXML te kunnen gebruiken, moet u het via NuGet installeren. Na het instellen kunt u met slechts een paar regels code een nieuwe Excel-werkmap maken. U start bijvoorbeeld een nieuwe werkmap en voegt een werkblad met de naam "Blad1" toe met behulp van de var workbook = new XLWorkbook(); En var worksheet = workbook.Worksheets.Add("Sheet1"); opdrachten.

Gegevens kunnen aan cellen worden toegevoegd met opdrachten zoals worksheet.Cell(1, 1).Value = "Hello";en u kunt cellen opmaken, randen toevoegen en lettertypestijlen instellen met eenvoudige, leesbare opdrachten. Zodra uw gegevens zijn ingesteld, slaat u de werkmap op in een bestand met behulp van workbook.SaveAs("example.xlsx");. ClosedXML ondersteunt een breed scala aan functies, waaronder draaitabellen, voorwaardelijke opmaak en grafieken, waardoor het een krachtig hulpmiddel is voor het programmatisch maken van complexe Excel-documenten. Deze flexibiliteit zorgt ervoor dat ontwikkelaars Excel-bestanden kunnen genereren die zijn afgestemd op hun specifieke behoeften zonder afhankelijk te zijn van de installatie van Microsoft Office, waardoor de implementatie en distributie van applicaties wordt vereenvoudigd.

Veelgestelde vragen over het maken van Excel-bestanden in C#

  1. Hoe installeer ik EPPlus in mijn project?
  2. U kunt EPPlus installeren met behulp van NuGet Package Manager met de opdracht Install-Package EPPlus.
  3. Wat is het verschil tussen EPPlus en NPOI?
  4. EPPlus staat bekend om zijn gebruiksgemak en ondersteuning voor alleen .XLSX-bestanden, terwijl NPOI zowel .XLS- als .XLSX-formaten ondersteunt, maar een steilere leercurve heeft.
  5. Kan ClosedXML grote Excel-bestanden efficiënt verwerken?
  6. Ja, ClosedXML kan grote Excel-bestanden verwerken, maar de prestaties kunnen variëren op basis van de complexiteit van de gegevens en uitgevoerde bewerkingen.
  7. Is het mogelijk om grafieken in Excel-bestanden te maken met behulp van ClosedXML?
  8. Ja, ClosedXML ondersteunt het maken van verschillende soorten diagrammen in Excel-bestanden.
  9. Hoe formatteer ik cellen met ClosedXML?
  10. U kunt cellen opmaken met opdrachten als worksheet.Cell(1, 1).Style.Font.Bold = true; om het lettertype vetgedrukt te maken.
  11. Kan ik formules aan cellen toevoegen met EPPlus?
  12. Ja, u kunt formules toevoegen aan cellen in EPPlus met behulp van opdrachten als worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Welke bestandsformaten ondersteunt NPOI?
  14. NPOI ondersteunt zowel de bestandsformaten .XLS als .XLSX.
  15. Hoe sla ik een Excel-bestand op met EPPlus?
  16. Met de opdracht kunt u een Excel-bestand opslaan package.SaveAs(new FileInfo("example.xlsx"));.
  17. Is ClosedXML gratis te gebruiken?
  18. Ja, ClosedXML is gratis te gebruiken en valt onder de MIT-licentie.

Laatste gedachten over het maken van Excel-bestanden in C#

Het maken van Excel-bestanden in C# zonder dat Microsoft Office hoeft te worden geïnstalleerd, is een zeer praktische aanpak voor ontwikkelaars. Door bibliotheken als EPPlus, NPOI en ClosedXML te gebruiken, kunt u eenvoudig Excel-spreadsheets genereren, met een breed scala aan functies en aanpassingsmogelijkheden. Deze oplossingen vereenvoudigen niet alleen het ontwikkelingsproces, maar zorgen er ook voor dat uw applicaties draagbaarder zijn en gemakkelijker te implementeren in verschillende omgevingen.