Oprettelse af Excel-filer i C# uden at installere Microsoft Office

Oprettelse af Excel-filer i C# uden at installere Microsoft Office
Oprettelse af Excel-filer i C# uden at installere Microsoft Office

Generer Excel-filer i C# problemfrit

Oprettelse af Excel-filer (.XLS og .XLSX) i C# kan være et afgørende krav for mange applikationer. Det kan dog være upraktisk og besværligt at stole på installationen af ​​Microsoft Office på serveren eller klientmaskinen.

Heldigvis er der robuste biblioteker og værktøjer tilgængelige, som gør det muligt for udviklere at generere Excel-regneark programmatisk i C# uden behov for Microsoft Office. Denne artikel udforsker de forskellige metoder og biblioteker til at opnå dette effektivt.

Kommando Beskrivelse
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Indstiller licenskonteksten for EPPlus til ikke-kommerciel brug.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Opretter et nyt regneark med navnet "Sheet1" i Excel-pakken ved hjælp af EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Indstiller værdien af ​​cellen i række 1, kolonne 1 til "Hej" ved hjælp af EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Initialiserer en ny projektmappeforekomst til oprettelse af .XLSX-filer ved hjælp af NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Opretter et nyt ark med navnet "Sheet1" i projektmappen ved hjælp af NPOI.
IRow row = sheet.CreateRow(0); Opretter en ny række ved indeks 0 i arket ved hjælp af NPOI.
row.CreateCell(0).SetCellValue("Hello"); Indstiller værdien af ​​cellen i række 0, kolonne 0 til "Hej" ved hjælp af NPOI.

Forståelse af oprettelse af Excel-filer i C#

Scripts ovenfor demonstrerer, hvordan man opretter Excel-filer (.XLS og .XLSX) i C# uden at installere Microsoft Office ved at bruge to populære biblioteker: EPPlus og NPOI. Det første script udnytter EPPlus-biblioteket. Det begynder med at indstille licenskonteksten for EPPlus til ikke-kommerciel brug med kommandoen ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Dette sikrer overholdelse af EPPlus licensvilkår. Dernæst opretter den en ny Excel-pakkeinstans ved hjælp af using (var package = new ExcelPackage()), og tilføjer et nyt regneark med navnet "Sheet1" vha var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Data føjes til celler ved at indstille deres værdier direkte, f.eks. worksheet.Cells[1, 1].Value = "Hello"; tildeler værdien "Hej" til den første celle i den første række. Filen gemmes derefter på disken med package.SaveAs(new FileInfo("example.xlsx"));, fuldførelse af Excel-filoprettelsesprocessen.

Det andet script bruger NPOI-biblioteket til at oprette en Excel-fil. Det begynder med at initialisere en ny projektmappeinstans til at oprette .XLSX-filer med IWorkbook workbook = new XSSFWorkbook();. Et nyt ark med navnet "Sheet1" oprettes i projektmappen vha ISheet sheet = workbook.CreateSheet("Sheet1");. Rækker og celler oprettes og udfyldes med data ved opkald IRow row = sheet.CreateRow(0); og row.CreateCell(0).SetCellValue("Hello");, henholdsvis. Den oprettede projektmappe skrives derefter til en filstrøm og gemmes på disken ved hjælp af en FileStream pakket ind i en using redegørelse for korrekt ressourcestyring. Endelig, Console.WriteLine("Excel file created successfully!"); udsender en succesmeddelelse til konsollen. Disse scripts viser, hvor kraftfulde og alsidige disse biblioteker er til at generere Excel-filer i C# uden at skulle have Microsoft Office installeret.

Generering af Excel-filer ved hjælp af EPPlus i C#

Dette script demonstrerer oprettelse af en Excel-fil ved hjælp af 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!");
            }
        }
    }
}

Oprettelse af Excel-filer med NPOI i C#

Dette script viser, hvordan man bruger NPOI-biblioteket til at oprette 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!");
        }
    }
}

Oprettelse af Excel-filer med ClosedXML i C#

Et andet fremragende bibliotek til at oprette Excel-filer i C# uden at kræve Microsoft Office er ClosedXML. ClosedXML er et .NET-bibliotek til at læse, manipulere og skrive Excel 2007+ (.XLSX) filer. Det er intuitivt og nemt at bruge, hvilket gør det til en favorit blandt udviklere. ClosedXML giver dig mulighed for at oprette Excel-filer med omfattende funktioner, såsom formatering af celler, tilføjelse af formler og oprettelse af tabeller. For at begynde at bruge ClosedXML skal du installere det via NuGet. Efter opsætning kan du oprette en ny Excel-projektmappe med blot et par linjer kode. For eksempel starter du en ny projektmappe og tilføjer et regneark med navnet "Sheet1" ved hjælp af var workbook = new XLWorkbook(); og var worksheet = workbook.Worksheets.Add("Sheet1"); kommandoer.

Data kan tilføjes til celler med kommandoer som f.eks worksheet.Cell(1, 1).Value = "Hello";, og du kan formatere celler, tilføje rammer og indstille skrifttypestile med enkle, læsbare kommandoer. Når dine data er indstillet, gemmer du projektmappen til en fil vha workbook.SaveAs("example.xlsx");. ClosedXML understøtter en lang række funktioner, herunder pivottabeller, betinget formatering og diagrammer, hvilket gør det til et kraftfuldt værktøj til at skabe komplekse Excel-dokumenter programmatisk. Denne fleksibilitet sikrer, at udviklere kan generere Excel-filer, der er skræddersyet til deres specifikke behov uden at være afhængige af Microsoft Office-installation, hvilket forenkler implementering og distribution af applikationer.

Ofte stillede spørgsmål om oprettelse af Excel-filer i C#

  1. Hvordan installerer jeg EPPlus i mit projekt?
  2. Du kan installere EPPlus ved hjælp af NuGet Package Manager med kommandoen Install-Package EPPlus.
  3. Hvad er forskellen mellem EPPlus og NPOI?
  4. EPPlus er kendt for sin brugervenlighed og kun understøttelse af .XLSX-filer, mens NPOI understøtter både .XLS- og .XLSX-formater, men har en stejlere indlæringskurve.
  5. Kan ClosedXML håndtere store Excel-filer effektivt?
  6. Ja, ClosedXML kan håndtere store Excel-filer, men ydeevnen kan variere baseret på kompleksiteten af ​​de udførte data og operationer.
  7. Er det muligt at oprette diagrammer i Excel-filer ved hjælp af ClosedXML?
  8. Ja, ClosedXML understøtter oprettelse af forskellige typer diagrammer i Excel-filer.
  9. Hvordan formaterer jeg celler ved hjælp af ClosedXML?
  10. Du kan formatere celler ved hjælp af kommandoer som f.eks worksheet.Cell(1, 1).Style.Font.Bold = true; for at indstille skrifttypen til fed.
  11. Kan jeg tilføje formler til celler med EPPlus?
  12. Ja, du kan tilføje formler til celler i EPPlus ved hjælp af kommandoer som worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Hvilke filformater understøtter NPOI?
  14. NPOI understøtter både .XLS- og .XLSX-filformater.
  15. Hvordan gemmer jeg en Excel-fil ved hjælp af EPPlus?
  16. Du kan gemme en Excel-fil ved hjælp af kommandoen package.SaveAs(new FileInfo("example.xlsx"));.
  17. Er ClosedXML gratis at bruge?
  18. Ja, ClosedXML er gratis at bruge og er licenseret under MIT-licensen.

Endelige tanker om oprettelse af Excel-filer i C#

At oprette Excel-filer i C# uden at kræve Microsoft Office-installation er en yderst praktisk tilgang for udviklere. Ved at bruge biblioteker som EPPlus, NPOI og ClosedXML kan du nemt generere Excel-regneark og tilbyde en bred vifte af funktioner og tilpasningsmuligheder. Disse løsninger forenkler ikke kun udviklingsprocessen, men sikrer også, at dine applikationer er mere bærbare og nemmere at implementere på tværs af forskellige miljøer.