Generer Excel-filer i C# sømløst
Å lage Excel-filer (.XLS og .XLSX) i C# kan være et avgjørende krav for mange applikasjoner. Det kan imidlertid være upraktisk og tungvint å stole på installasjonen av Microsoft Office på serveren eller klientmaskinen.
Heldigvis er det robuste biblioteker og verktøy tilgjengelig som lar utviklere generere Excel-regneark programmatisk i C# uten behov for Microsoft Office. Denne artikkelen utforsker de ulike metodene og bibliotekene for å oppnå dette effektivt.
Kommando | Beskrivelse |
---|---|
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; | Setter lisenskonteksten for EPPlus til ikke-kommersiell bruk. |
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); | Oppretter et nytt regneark kalt "Sheet1" i Excel-pakken ved hjelp av EPPlus. |
worksheet.Cells[1, 1].Value = "Hello"; | Setter verdien av cellen på rad 1, kolonne 1 til "Hei" ved hjelp av EPPlus. |
IWorkbook workbook = new XSSFWorkbook(); | Initialiserer en ny arbeidsbokforekomst for å lage .XLSX-filer ved hjelp av NPOI. |
ISheet sheet = workbook.CreateSheet("Sheet1"); | Oppretter et nytt ark kalt "Sheet1" i arbeidsboken ved hjelp av NPOI. |
IRow row = sheet.CreateRow(0); | Oppretter en ny rad ved indeks 0 i arket ved hjelp av NPOI. |
row.CreateCell(0).SetCellValue("Hello"); | Setter verdien til cellen på rad 0, kolonne 0 til "Hei" ved hjelp av NPOI. |
Forstå opprettelsen av Excel-filer i C#
Skriptene ovenfor viser hvordan du lager Excel-filer (.XLS og .XLSX) i C# uten å installere Microsoft Office ved å bruke to populære biblioteker: EPPlus og NPOI. Det første skriptet utnytter EPPlus-biblioteket. Det begynner med å sette lisenskonteksten for EPPlus til ikke-kommersiell bruk med kommandoen . Dette sikrer overholdelse av EPPlus lisensvilkår. Deretter oppretter den en ny Excel-pakkeforekomst ved hjelp av , og legger til et nytt regneark kalt "Sheet1" ved hjelp av . Data legges til celler ved å angi verdiene direkte, for eksempel worksheet.Cells[1, 1].Value = "Hello"; tildeler verdien "Hei" til den første cellen i den første raden. Filen lagres deretter på disken med , fullfører prosessen for å lage Excel-fil.
Det andre skriptet bruker NPOI-biblioteket til å lage en Excel-fil. Det begynner med å initialisere en ny arbeidsbokforekomst for å lage .XLSX-filer med . Et nytt ark kalt "Sheet1" opprettes i arbeidsboken ved hjelp av . Rader og celler opprettes og fylles med data ved å ringe og row.CreateCell(0).SetCellValue("Hello");, henholdsvis. Den opprettede arbeidsboken skrives deretter til en filstrøm og lagres på disken ved hjelp av en pakket inn i en uttalelse for forsvarlig ressursforvaltning. Endelig, sender ut en suksessmelding til konsollen. Disse skriptene viser hvor kraftige og allsidige disse bibliotekene er for å generere Excel-filer i C# uten å måtte installere Microsoft Office.
Generer Excel-filer ved hjelp av EPPlus i C#
Dette skriptet demonstrerer å lage en Excel-fil ved å bruke 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!");
}
}
}
}
Opprette Excel-filer med NPOI i C#
Dette skriptet viser hvordan du bruker NPOI-biblioteket til å lage 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!");
}
}
}
Opprette Excel-filer med ClosedXML i C#
Et annet utmerket bibliotek for å lage Excel-filer i C# uten å kreve Microsoft Office er ClosedXML. ClosedXML er et .NET-bibliotek for lesing, manipulering og skriving av Excel 2007+ (.XLSX)-filer. Den er intuitiv og enkel å bruke, noe som gjør den til en favoritt blant utviklere. ClosedXML lar deg lage Excel-filer med rike funksjoner, for eksempel formatering av celler, legge til formler og lage tabeller. For å begynne å bruke ClosedXML, må du installere det via NuGet. Etter oppsett kan du lage en ny Excel-arbeidsbok med bare noen få linjer med kode. Du starter for eksempel en ny arbeidsbok og legger til et regneark kalt "Sheet1" ved å bruke og kommandoer.
Data kan legges til celler med kommandoer som , og du kan formatere celler, legge til rammer og angi skriftstiler med enkle, lesbare kommandoer. Når dataene dine er angitt, lagrer du arbeidsboken til en fil ved hjelp av . ClosedXML støtter et bredt spekter av funksjoner, inkludert pivottabeller, betinget formatering og diagrammer, noe som gjør det til et kraftig verktøy for å lage komplekse Excel-dokumenter programmatisk. Denne fleksibiliteten sikrer at utviklere kan generere Excel-filer skreddersydd til deres spesifikke behov uten å stole på Microsoft Office-installasjon, og dermed forenkle distribusjon og distribusjon av applikasjoner.
- Hvordan installerer jeg EPPlus i prosjektet mitt?
- Du kan installere EPPlus ved å bruke NuGet Package Manager med kommandoen .
- Hva er forskjellen mellom EPPlus og NPOI?
- EPPlus er kjent for sin brukervennlighet og støtte for kun .XLSX-filer, mens NPOI støtter både .XLS- og .XLSX-formater, men har en brattere læringskurve.
- Kan ClosedXML håndtere store Excel-filer effektivt?
- Ja, ClosedXML kan håndtere store Excel-filer, men ytelsen kan variere basert på kompleksiteten til dataene og operasjonene som utføres.
- Er det mulig å lage diagrammer i Excel-filer ved hjelp av ClosedXML?
- Ja, ClosedXML støtter å lage ulike typer diagrammer i Excel-filer.
- Hvordan formaterer jeg celler ved hjelp av ClosedXML?
- Du kan formatere celler ved å bruke kommandoer som for å sette skriften til fet skrift.
- Kan jeg legge til formler i celler med EPPlus?
- Ja, du kan legge til formler til celler i EPPlus ved å bruke kommandoer som .
- Hvilke filformater støtter NPOI?
- NPOI støtter både .XLS- og .XLSX-filformater.
- Hvordan lagrer jeg en Excel-fil ved hjelp av EPPlus?
- Du kan lagre en Excel-fil ved å bruke kommandoen .
- Er ClosedXML gratis å bruke?
- Ja, ClosedXML er gratis å bruke og er lisensiert under MIT-lisensen.
Å lage Excel-filer i C# uten å kreve Microsoft Office-installasjon er en svært praktisk tilnærming for utviklere. Ved å bruke biblioteker som EPPlus, NPOI og ClosedXML, kan du enkelt generere Excel-regneark, og tilby et bredt spekter av funksjoner og tilpasningsmuligheter. Disse løsningene forenkler ikke bare utviklingsprosessen, men sikrer også at applikasjonene dine er mer bærbare og enklere å distribuere på tvers av forskjellige miljøer.