Skapa Excel-filer i C# utan att installera Microsoft Office

Skapa Excel-filer i C# utan att installera Microsoft Office
Skapa Excel-filer i C# utan att installera Microsoft Office

Generera Excel-filer i C# sömlöst

Att skapa Excel-filer (.XLS och .XLSX) i C# kan vara ett avgörande krav för många applikationer. Men att förlita sig på installationen av Microsoft Office på servern eller klientdatorn kan vara opraktisk och besvärlig.

Lyckligtvis finns det robusta bibliotek och verktyg tillgängliga som gör att utvecklare kan generera Excel-kalkylblad programmatiskt i C# utan att behöva Microsoft Office. Den här artikeln utforskar de olika metoderna och biblioteken för att uppnå detta effektivt.

Kommando Beskrivning
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Ställer in licenskontexten för EPPlus till icke-kommersiell användning.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Skapar ett nytt kalkylblad med namnet "Sheet1" i Excel-paketet med EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Ställer in värdet på cellen på rad 1, kolumn 1 till "Hej" med EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Initierar en ny arbetsboksinstans för att skapa .XLSX-filer med hjälp av NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Skapar ett nytt ark med namnet "Sheet1" i arbetsboken med hjälp av NPOI.
IRow row = sheet.CreateRow(0); Skapar en ny rad vid index 0 i arket med hjälp av NPOI.
row.CreateCell(0).SetCellValue("Hello"); Ställer in värdet på cellen på rad 0, kolumn 0 till "Hej" med hjälp av NPOI.

Förstå skapandet av Excel-filer i C#

Skripten ovan visar hur man skapar Excel-filer (.XLS och .XLSX) i C# utan att installera Microsoft Office genom att använda två populära bibliotek: EPPlus och NPOI. Det första skriptet utnyttjar EPPlus-biblioteket. Det börjar med att ställa in licenskontexten för EPPlus till icke-kommersiell användning med kommandot ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Detta säkerställer överensstämmelse med EPPlus licensvillkor. Därefter skapar den en ny Excel-paketinstans med hjälp av using (var package = new ExcelPackage()), och lägger till ett nytt kalkylblad med namnet "Sheet1" med hjälp av var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Data läggs till celler genom att ställa in deras värden direkt, t.ex. worksheet.Cells[1, 1].Value = "Hello"; tilldelar värdet "Hej" till den första cellen i den första raden. Filen sparas sedan på disken med package.SaveAs(new FileInfo("example.xlsx"));, slutföra processen för att skapa Excel-filer.

Det andra skriptet använder NPOI-biblioteket för att skapa en Excel-fil. Det börjar med att initiera en ny arbetsboksinstans för att skapa .XLSX-filer med IWorkbook workbook = new XSSFWorkbook();. Ett nytt ark med namnet "Sheet1" skapas i arbetsboken med hjälp av ISheet sheet = workbook.CreateSheet("Sheet1");. Rader och celler skapas och fylls i med data genom att anropa IRow row = sheet.CreateRow(0); och row.CreateCell(0).SetCellValue("Hello");, respektive. Den skapade arbetsboken skrivs sedan till en filström och sparas på disken med hjälp av en FileStream insvept i en using uttalande för korrekt resurshantering. Till sist, Console.WriteLine("Excel file created successfully!"); skickar ett framgångsmeddelande till konsolen. Dessa skript visar hur kraftfulla och mångsidiga dessa bibliotek är för att generera Excel-filer i C# utan att behöva installera Microsoft Office.

Generera Excel-filer med EPPlus i C#

Det här skriptet visar att du skapar en Excel-fil med EPPlus-biblioteket i 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!");
            }
        }
    }
}

Skapa Excel-filer med NPOI i C#

Det här skriptet visar hur man använder NPOI-biblioteket för att skapa en Excel-fil i C#.

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!");
        }
    }
}

Skapa Excel-filer med ClosedXML i C#

Ett annat utmärkt bibliotek för att skapa Excel-filer i C# utan att behöva Microsoft Office är ClosedXML. ClosedXML är ett .NET-bibliotek för att läsa, manipulera och skriva Excel 2007+ (.XLSX)-filer. Det är intuitivt och lätt att använda, vilket gör det till en favorit bland utvecklare. ClosedXML låter dig skapa Excel-filer med rika funktioner, som att formatera celler, lägga till formler och skapa tabeller. För att börja använda ClosedXML måste du installera det via NuGet. Efter installationen kan du skapa en ny Excel-arbetsbok med bara några rader kod. Till exempel initierar du en ny arbetsbok och lägger till ett kalkylblad med namnet "Sheet1" med hjälp av var workbook = new XLWorkbook(); och var worksheet = workbook.Worksheets.Add("Sheet1"); kommandon.

Data kan läggas till celler med kommandon som worksheet.Cell(1, 1).Value = "Hello";, och du kan formatera celler, lägga till ramar och ställa in teckensnittsstilar med enkla, läsbara kommandon. När dina data är inställda sparar du arbetsboken till en fil med hjälp av workbook.SaveAs("example.xlsx");. ClosedXML stöder ett brett utbud av funktioner, inklusive pivottabeller, villkorlig formatering och diagram, vilket gör det till ett kraftfullt verktyg för att skapa komplexa Excel-dokument programmatiskt. Denna flexibilitet säkerställer att utvecklare kan skapa Excel-filer skräddarsydda för deras specifika behov utan att förlita sig på Microsoft Office-installation, vilket förenklar driftsättning och distribution av applikationer.

Vanliga frågor om att skapa Excel-filer i C#

  1. Hur installerar jag EPPlus i mitt projekt?
  2. Du kan installera EPPlus med hjälp av NuGet Package Manager med kommandot Install-Package EPPlus.
  3. Vad är skillnaden mellan EPPlus och NPOI?
  4. EPPlus är känt för sin enkla användning och stöd för endast .XLSX-filer, medan NPOI stöder både .XLS- och .XLSX-format men har en brantare inlärningskurva.
  5. Kan ClosedXML hantera stora Excel-filer effektivt?
  6. Ja, ClosedXML kan hantera stora Excel-filer, men prestandan kan variera beroende på hur komplexa data och operationer är.
  7. Är det möjligt att skapa diagram i Excel-filer med ClosedXML?
  8. Ja, ClosedXML stöder att skapa olika typer av diagram i Excel-filer.
  9. Hur formaterar jag celler med ClosedXML?
  10. Du kan formatera celler med kommandon som worksheet.Cell(1, 1).Style.Font.Bold = true; för att ställa in typsnittet till fetstil.
  11. Kan jag lägga till formler till celler med EPPlus?
  12. Ja, du kan lägga till formler till celler i EPPlus med hjälp av kommandon som worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Vilka filformat stöder NPOI?
  14. NPOI stöder både .XLS och .XLSX filformat.
  15. Hur sparar jag en Excel-fil med EPPlus?
  16. Du kan spara en Excel-fil med kommandot package.SaveAs(new FileInfo("example.xlsx"));.
  17. Är ClosedXML gratis att använda?
  18. Ja, ClosedXML är gratis att använda och licensieras under MIT-licensen.

Sista tankar om att skapa Excel-filer i C#

Att skapa Excel-filer i C# utan att kräva Microsoft Office-installation är ett mycket praktiskt tillvägagångssätt för utvecklare. Genom att använda bibliotek som EPPlus, NPOI och ClosedXML kan du skapa Excel-kalkylblad med lätthet och erbjuda ett brett utbud av funktioner och anpassningsalternativ. Dessa lösningar förenklar inte bara utvecklingsprocessen utan säkerställer också att dina applikationer är mer portabla och lättare att distribuera i olika miljöer.