Creació de fitxers Excel en C# sense instal·lar Microsoft Office

Creació de fitxers Excel en C# sense instal·lar Microsoft Office
Creació de fitxers Excel en C# sense instal·lar Microsoft Office

Genereu fitxers Excel en C# sense problemes

La creació de fitxers Excel (.XLS i .XLSX) en C# pot ser un requisit crucial per a moltes aplicacions. Tanmateix, confiar en la instal·lació de Microsoft Office al servidor o a la màquina client pot ser poc pràctic i complicat.

Afortunadament, hi ha biblioteques i eines robustes disponibles que permeten als desenvolupadors generar fulls de càlcul d'Excel de manera programàtica en C# sense necessitat de Microsoft Office. Aquest article explora els diferents mètodes i biblioteques per aconseguir-ho de manera eficient.

Comandament Descripció
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Estableix el context de llicència per a EPPlus per a un ús no comercial.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Crea un full de treball nou anomenat "Full1" al paquet Excel mitjançant EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Estableix el valor de la cel·la a la fila 1, columna 1 a "Hola" mitjançant EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Inicialitza una nova instància del llibre de treball per crear fitxers .XLSX amb NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Crea un full nou anomenat "Full1" al llibre de treball mitjançant NPOI.
IRow row = sheet.CreateRow(0); Crea una fila nova a l'índex 0 del full mitjançant NPOI.
row.CreateCell(0).SetCellValue("Hello"); Estableix el valor de la cel·la a la fila 0, columna 0 a "Hola" mitjançant NPOI.

Comprendre la creació de fitxers Excel en C#

Els scripts proporcionats anteriorment mostren com crear fitxers Excel (.XLS i .XLSX) en C# sense instal·lar Microsoft Office mitjançant dues biblioteques populars: EPPlus i NPOI. El primer script aprofita la biblioteca EPPlus. Comença establint el context de llicència per a EPPlus per a un ús no comercial amb l'ordre ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Això garanteix el compliment dels termes de llicència d'EPPlus. A continuació, crea una nova instància de paquet Excel utilitzant using (var package = new ExcelPackage()), i afegeix un full de treball nou anomenat "Full1" utilitzant var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Les dades s'afegeixen a les cel·les establint els seus valors directament, per exemple, worksheet.Cells[1, 1].Value = "Hello"; assigna el valor "Hola" a la primera cel·la de la primera fila. A continuació, el fitxer es desa al disc amb package.SaveAs(new FileInfo("example.xlsx"));, completant el procés de creació del fitxer Excel.

El segon script utilitza la biblioteca NPOI per crear un fitxer Excel. Comença inicialitzant una nova instància del llibre de treball per crear fitxers .XLSX amb IWorkbook workbook = new XSSFWorkbook();. Es crea un full nou anomenat "Full1" dins del llibre de treball utilitzant ISheet sheet = workbook.CreateSheet("Sheet1");. Les files i les cel·les es creen i s'omplen amb dades mitjançant una trucada IRow row = sheet.CreateRow(0); i row.CreateCell(0).SetCellValue("Hello");, respectivament. A continuació, el llibre de treball creat s'escriu en un flux de fitxers i es desa al disc mitjançant a FileStream embolicat en a using declaració per a una correcta gestió dels recursos. Finalment, Console.WriteLine("Excel file created successfully!"); emet un missatge d'èxit a la consola. Aquests scripts mostren com de potents i versàtils són aquestes biblioteques per generar fitxers Excel en C# sense necessitat d'instal·lar Microsoft Office.

Generació de fitxers Excel amb EPPlus en C#

Aquest script demostra la creació d'un fitxer Excel mitjançant la biblioteca EPPlus en 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!");
            }
        }
    }
}

Creació de fitxers Excel amb NPOI en C#

Aquest script mostra com utilitzar la biblioteca NPOI per crear un fitxer Excel en 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!");
        }
    }
}

Creació de fitxers Excel amb ClosedXML en C#

Una altra biblioteca excel·lent per crear fitxers Excel en C# sense requerir Microsoft Office és ClosedXML. ClosedXML és una biblioteca .NET per llegir, manipular i escriure fitxers d'Excel 2007+ (.XLSX). És intuïtiu i fàcil d'utilitzar, el que el converteix en un dels preferits entre els desenvolupadors. ClosedXML us permet crear fitxers Excel amb funcions riques, com ara donar format a cel·les, afegir fórmules i crear taules. Per començar a utilitzar ClosedXML, cal instal·lar-lo mitjançant NuGet. Després de la configuració, podeu crear un nou llibre d'Excel amb només unes poques línies de codi. Per exemple, inicieu un llibre de treball nou i afegiu un full de treball anomenat "Full1" mitjançant el var workbook = new XLWorkbook(); i var worksheet = workbook.Worksheets.Add("Sheet1"); ordres.

Les dades es poden afegir a les cel·les amb ordres com ara worksheet.Cell(1, 1).Value = "Hello";, i podeu formatar cel·les, afegir vores i establir estils de lletra amb ordres senzilles i llegibles. Un cop configurades les dades, deseu el llibre de treball en un fitxer utilitzant workbook.SaveAs("example.xlsx");. ClosedXML admet una àmplia gamma de funcions, com ara taules dinàmiques, format condicional i gràfics, el que el converteix en una eina potent per crear documents complexos d'Excel amb programació. Aquesta flexibilitat garanteix que els desenvolupadors puguin generar fitxers Excel adaptats a les seves necessitats específiques sense dependre de la instal·lació de Microsoft Office, simplificant així el desplegament i la distribució d'aplicacions.

Preguntes freqüents sobre la creació de fitxers Excel en C#

  1. Com instal·lo EPPlus al meu projecte?
  2. Podeu instal·lar EPPlus mitjançant el gestor de paquets NuGet amb l'ordre Install-Package EPPlus.
  3. Quina diferència hi ha entre EPPlus i NPOI?
  4. EPPlus és conegut per la seva facilitat d'ús i suport només per a fitxers .XLSX, mentre que NPOI admet tant els formats .XLS com .XLSX, però té una corba d'aprenentatge més pronunciada.
  5. Pot ClosedXML gestionar fitxers Excel grans de manera eficient?
  6. Sí, ClosedXML pot gestionar fitxers Excel grans, però el rendiment pot variar segons la complexitat de les dades i les operacions realitzades.
  7. És possible crear gràfics en fitxers Excel mitjançant ClosedXML?
  8. Sí, ClosedXML admet la creació de diversos tipus de gràfics dins de fitxers Excel.
  9. Com format les cel·les amb ClosedXML?
  10. Podeu formatar les cel·les mitjançant ordres com ara worksheet.Cell(1, 1).Style.Font.Bold = true; per posar el tipus de lletra en negreta.
  11. Puc afegir fórmules a les cel·les amb EPPlus?
  12. Sí, podeu afegir fórmules a les cel·les d'EPPlus mitjançant ordres com ara worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Quins formats de fitxer admet NPOI?
  14. NPOI és compatible amb els formats de fitxer .XLS i .XLSX.
  15. Com deso un fitxer Excel amb EPPlus?
  16. Podeu desar un fitxer Excel mitjançant l'ordre package.SaveAs(new FileInfo("example.xlsx"));.
  17. El ClosedXML és gratuït?
  18. Sí, ClosedXML és gratuït i té llicència sota la llicència MIT.

Pensaments finals sobre la creació de fitxers Excel en C#

Crear fitxers Excel en C# sense necessitat d'instal·lar Microsoft Office és un enfocament molt pràctic per als desenvolupadors. Mitjançant l'ús de biblioteques com EPPlus, NPOI i ClosedXML, podeu generar fulls de càlcul Excel amb facilitat, oferint una àmplia gamma de funcions i opcions de personalització. Aquestes solucions no només simplifiquen el procés de desenvolupament, sinó que també garanteixen que les vostres aplicacions siguin més portàtils i més fàcils de desplegar en diferents entorns.