Creazione di file Excel in C# senza installare Microsoft Office

Creazione di file Excel in C# senza installare Microsoft Office
Creazione di file Excel in C# senza installare Microsoft Office

Genera file Excel in C# senza problemi

La creazione di file Excel (.XLS e .XLSX) in C# può essere un requisito cruciale per molte applicazioni. Tuttavia, fare affidamento sull'installazione di Microsoft Office sul server o sul computer client può essere poco pratico e macchinoso.

Fortunatamente, sono disponibili librerie e strumenti robusti che consentono agli sviluppatori di generare fogli di calcolo Excel a livello di codice in C# senza la necessità di Microsoft Office. Questo articolo esplora i vari metodi e librerie per raggiungere questo obiettivo in modo efficiente.

Comando Descrizione
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Imposta il contesto di licenza per EPPlus su uso non commerciale.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Crea un nuovo foglio di lavoro denominato "Foglio1" nel pacchetto Excel utilizzando EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Imposta il valore della cella alla riga 1, colonna 1 su "Ciao" utilizzando EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Inizializza una nuova istanza della cartella di lavoro per creare file .XLSX utilizzando NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Crea un nuovo foglio denominato "Foglio1" nella cartella di lavoro utilizzando NPOI.
IRow row = sheet.CreateRow(0); Crea una nuova riga all'indice 0 nel foglio utilizzando NPOI.
row.CreateCell(0).SetCellValue("Hello"); Imposta il valore della cella alla riga 0, colonna 0 su "Ciao" utilizzando NPOI.

Comprendere la creazione di file Excel in C#

Gli script forniti sopra dimostrano come creare file Excel (.XLS e .XLSX) in C# senza installare Microsoft Office utilizzando due librerie popolari: EPPlus e NPOI. Il primo script sfrutta la libreria EPPlus. Inizia impostando il contesto di licenza per EPPlus su uso non commerciale con il comando ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Ciò garantisce la conformità ai termini di licenza EPPlus. Successivamente, crea una nuova istanza del pacchetto Excel utilizzando using (var package = new ExcelPackage())e aggiunge un nuovo foglio di lavoro denominato "Foglio1" utilizzando var worksheet = package.Workbook.Worksheets.Add("Sheet1");. I dati vengono aggiunti alle celle impostando direttamente i loro valori, ad esempio, worksheet.Cells[1, 1].Value = "Hello"; assegna il valore "Ciao" alla prima cella della prima riga. Il file viene quindi salvato sul disco con package.SaveAs(new FileInfo("example.xlsx"));, completando il processo di creazione del file Excel.

Il secondo script utilizza la libreria NPOI per creare un file Excel. Inizia inizializzando una nuova istanza della cartella di lavoro con cui creare file .XLSX IWorkbook workbook = new XSSFWorkbook();. Un nuovo foglio denominato "Foglio1" viene creato all'interno della cartella di lavoro utilizzando ISheet sheet = workbook.CreateSheet("Sheet1");. Righe e celle vengono create e popolate con dati tramite chiamata IRow row = sheet.CreateRow(0); E row.CreateCell(0).SetCellValue("Hello");, rispettivamente. La cartella di lavoro creata viene quindi scritta in un flusso di file e salvata sul disco utilizzando un file FileStream avvolto in un using dichiarazione per una corretta gestione delle risorse. Finalmente, Console.WriteLine("Excel file created successfully!"); invia un messaggio di successo alla console. Questi script mostrano quanto siano potenti e versatili queste librerie per generare file Excel in C# senza la necessità di installare Microsoft Office.

Generazione di file Excel utilizzando EPPlus in C#

Questo script illustra la creazione di un file Excel utilizzando la libreria EPPlus 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!");
            }
        }
    }
}

Creazione di file Excel con NPOI in C#

Questo script mostra come utilizzare la libreria NPOI per creare un file Excel in 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!");
        }
    }
}

Creazione di file Excel con ClosedXML in C#

Un'altra eccellente libreria per creare file Excel in C# senza richiedere Microsoft Office è ClosedXML. ClosedXML è una libreria .NET per leggere, manipolare e scrivere file Excel 2007+ (.XLSX). È intuitivo e facile da usare, rendendolo uno dei preferiti tra gli sviluppatori. ClosedXML ti consente di creare file Excel con funzionalità avanzate, come la formattazione di celle, l'aggiunta di formule e la creazione di tabelle. Per iniziare a utilizzare ClosedXML, è necessario installarlo tramite NuGet. Dopo la configurazione, puoi creare una nuova cartella di lavoro Excel con solo poche righe di codice. Ad esempio, puoi avviare una nuova cartella di lavoro e aggiungere un foglio di lavoro denominato "Foglio1" utilizzando il comando var workbook = new XLWorkbook(); E var worksheet = workbook.Worksheets.Add("Sheet1"); comandi.

I dati possono essere aggiunti alle celle con comandi come worksheet.Cell(1, 1).Value = "Hello";e puoi formattare celle, aggiungere bordi e impostare stili di carattere con comandi semplici e leggibili. Una volta impostati i dati, salva la cartella di lavoro in un file utilizzando workbook.SaveAs("example.xlsx");. ClosedXML supporta un'ampia gamma di funzionalità, tra cui tabelle pivot, formattazione condizionale e grafici, rendendolo un potente strumento per la creazione di documenti Excel complessi a livello di codice. Questa flessibilità garantisce che gli sviluppatori possano generare file Excel su misura per le loro esigenze specifiche senza fare affidamento sull'installazione di Microsoft Office, semplificando così l'implementazione e la distribuzione delle applicazioni.

Domande frequenti sulla creazione di file Excel in C#

  1. Come installo EPPlus nel mio progetto?
  2. È possibile installare EPPlus utilizzando NuGet Package Manager con il comando Install-Package EPPlus.
  3. Qual è la differenza tra EPPlus e NPOI?
  4. EPPlus è noto per la sua facilità d'uso e il supporto solo per i file .XLSX, mentre NPOI supporta entrambi i formati .XLS e .XLSX ma ha una curva di apprendimento più ripida.
  5. ClosedXML può gestire file Excel di grandi dimensioni in modo efficiente?
  6. Sì, ClosedXML può gestire file Excel di grandi dimensioni, ma le prestazioni possono variare in base alla complessità dei dati e delle operazioni eseguite.
  7. È possibile creare grafici in file Excel utilizzando ClosedXML?
  8. Sì, ClosedXML supporta la creazione di vari tipi di grafici all'interno dei file Excel.
  9. Come posso formattare le celle utilizzando ClosedXML?
  10. Puoi formattare le celle utilizzando comandi come worksheet.Cell(1, 1).Style.Font.Bold = true; per impostare il carattere in grassetto.
  11. Posso aggiungere formule alle celle con EPPlus?
  12. Sì, puoi aggiungere formule alle celle in EPPlus utilizzando comandi come worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Quali formati di file supporta NPOI?
  14. NPOI supporta entrambi i formati di file .XLS e .XLSX.
  15. Come posso salvare un file Excel utilizzando EPPlus?
  16. È possibile salvare un file Excel utilizzando il comando package.SaveAs(new FileInfo("example.xlsx"));.
  17. ClosedXML è gratuito?
  18. Sì, ClosedXML è gratuito ed è concesso in licenza con la licenza MIT.

Considerazioni finali sulla creazione di file Excel in C#

La creazione di file Excel in C# senza richiedere l'installazione di Microsoft Office è un approccio molto pratico per gli sviluppatori. Utilizzando librerie come EPPlus, NPOI e ClosedXML, puoi generare facilmente fogli di calcolo Excel, offrendo un'ampia gamma di funzionalità e opzioni di personalizzazione. Queste soluzioni non solo semplificano il processo di sviluppo, ma garantiscono anche che le tue applicazioni siano più portabili e più facili da distribuire in ambienti diversi.