In questo articolo imparerai come creare file XLS/XLSX di Excel a livello di codice in C# senza installare MS Office.

Crea file Excel nell'API C#

I fogli di calcolo al giorno d’oggi sono diventati una parte essenziale della conservazione, dell’organizzazione e dell’analisi dei dati. I fogli di calcolo, come MS Excel, sono in grado di eseguire calcoli e ordinare, generare grafici o grafici, creare budget ed eseguire molte altre attività di contabilità o analisi dei dati. Dal momento che le soluzioni automatizzate sono più in attività in questi giorni, la tendenza alla creazione e alla manipolazione di documenti Excel (XLS/XLSX) è emersa e sta crescendo a un ritmo enorme. Questo caso d’uso ha sollevato la necessità di disporre di una soluzione di automazione di Excel.

In conformità con lo scenario sopra menzionato, questo articolo completo mira a mostrare alcune funzionalità di base per l’automazione di Excel nelle applicazioni C# .NET.

API C# per creare file Excel

Per lavorare con i documenti Excel, utilizzeremo Aspose.Cells for .NET che è una potente API per creare, leggere e manipolare documenti di fogli di calcolo inclusi file XLS e XLSX. Puoi scaricare o installare l’API utilizzando uno dei seguenti modi:

Utilizzo di Gestione pacchetti NuGet

Libreria di automazione C# Excel

Utilizzo della Console di gestione dei pacchetti

PM> Install-Package Aspose.Cells

Crea un Excel XLS o XLSX in C#

Un file Excel è anche noto come cartella di lavoro ed è composto da uno o più fogli di lavoro contenenti le righe e le colonne per contenere i dati. Pertanto, una cartella di lavoro funge da contenitore dei fogli di lavoro in un file Excel. Quindi, per creare un file Excel, creerai prima una cartella di lavoro e quindi i fogli di lavoro all’interno di quella cartella di lavoro. Di seguito sono riportati i passaggi per creare un file Excel utilizzando Aspose.Cells per .NET.

  • Crea un’istanza della classe Workbook.
  • Accedi al primo foglio di lavoro (creato per impostazione predefinita) della cartella di lavoro.
  • Accedi alle celle desiderate del foglio di lavoro e inserisci il valore nelle celle.
  • Salva la cartella di lavoro come file XLS o XLSX.

L’esempio di codice seguente mostra come creare un file XLSX di Excel usando C#.

// Istanziare un oggetto cartella di lavoro che rappresenta un file Excel.
Workbook wb = new Workbook();

// Quando crei una nuova cartella di lavoro, alla cartella di lavoro viene aggiunto un "Foglio1" predefinito.
Worksheet sheet = wb.Worksheets[0];

// Accedi alla cella "A1" nel foglio.
Cell cell = sheet.Cells["A1"];

// Inserisci il "Ciao mondo!" testo nella cella "A1".
cell.PutValue("Hello World!");

// Salva Excel come file .xlsx.
wb.Save("Excel.xlsx", SaveFormat.Xlsx);

Produzione

Crea file Excel in C#

Scrivi dati in un file XLSX di Excel in C#

Nel caso in cui desideri modificare e scrivere dati su un file Excel esistente, puoi anche farlo in modo simile. Carica semplicemente il documento del foglio di calcolo Excel di origine utilizzando l’oggetto Cartella di lavoro e accedi ai fogli di lavoro e alle celle desiderati. Di seguito sono riportati i passaggi per modificare un file Excel esistente.

  • Apri il file Excel in un oggetto FileStream.
  • Crea un’istanza di Workbook e inizializzala con l’oggetto FileStream.
  • Accedi ai fogli di lavoro e alle celle utilizzando rispettivamente le classi Foglio di lavoro e Cella.
  • Salva la cartella di lavoro come file .xlsx di Excel.

L’esempio di codice seguente mostra come modificare e scrivere dati in un file XLSX di Excel esistente in C#.

// Istanziare un oggetto cartella di lavoro che rappresenta un file Excel.
Workbook wb = new Workbook("Excel.xlsx");

// Accedi a "Foglio 1" dalla cartella di lavoro.
Worksheet sheet = wb.Worksheets[0];

// Accedi alla cella "A1" nel foglio.
Cell cell = sheet.Cells["A1"];

// Inserisci il "Ciao mondo!" testo nella cella "A1".
cell.PutValue("The cell's value is updated.");

// Salva il file Excel come .xlsx.
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);

Crea grafici o grafici nel file XLSX di Excel usando C#

I fogli di calcolo di Excel forniscono un ottimo modo per analizzare o presentare i dati visivamente utilizzando i grafici e le tabelle. Aspose.Cells per .NET fornisce un set completo di classi per creare e manipolare una varietà di grafici nei fogli di calcolo di Excel in cui ogni classe viene utilizzata per eseguire alcune attività specifiche.

Per creare i grafici in un file Excel, dovrai seguire i seguenti passaggi:

  • Aggiungi alcuni dati (da utilizzare come origine dati) al foglio di lavoro accedendo alle sue celle.
  • Aggiungi un nuovo oggetto grafico al foglio di lavoro utilizzando la raccolta Worksheet.Charts passando il tipo di grafico utilizzando l’enumerazione ChartType.
  • Ottieni il grafico appena creato dalla raccolta in un oggetto Chart.
  • Specificare l’intervallo di celle per fornire l’origine dati all’oggetto grafico.
  • Salva la cartella di lavoro come file .xlsx di Excel.

L’esempio di codice seguente mostra come creare un grafico in un file XLSX di Excel in C#.

// Istanziare un oggetto cartella di lavoro che rappresenta un file Excel.
Workbook wb = new Workbook();

// Aggiungi un nuovo foglio di lavoro all'oggetto Excel.
int sheetIndex = wb.Worksheets.Add();

// Ottieni il riferimento del foglio di lavoro appena aggiunto passando il suo indice del foglio.
Worksheet worksheet = wb.Worksheets[sheetIndex];

// Aggiungi valori fittizi alle celle.
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// Aggiungi un grafico al foglio di lavoro.
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);

// Accedi all'istanza del grafico appena aggiunto.
Charts.Chart chart = worksheet.Charts[chartIndex];

// Aggiungi SeriesCollection (origine dati grafico) al grafico che va dalla cella "A1" a "B3".
chart.NSeries.Add("A1:B3", true);

// Salva il file Excel.
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);

Produzione

Crea grafico in Excel in C#

Ulteriori informazioni sulla creazione di grafici nei fogli di lavoro di Excel utilizzando C#.

Crea una tabella nel file XLSX di Excel in C#

Puoi anche creare una tabella dall’intervallo di celle in un foglio di lavoro di Excel e aggiungere una riga per il totale (somma, conteggio, ecc.) nella tabella. Di seguito sono riportati i passaggi per creare una tabella in un file Excel (XLSX) utilizzando Aspose.Cells per .NET:

  • Carica una cartella di lavoro di Excel o creane una nuova utilizzando la classe Cartella di lavoro.
  • Aggiungi dati alle celle del foglio di lavoro.
  • Aggiungi un nuovo ListObject al foglio di lavoro.
  • Imposta la proprietà ListObject.ShowTotals su true.
  • Calcola il totale e salva la cartella di lavoro come file .xlsx di Excel.

L’esempio di codice seguente mostra come creare una tabella nel foglio di lavoro di Excel in C#.

// Istanziare un oggetto cartella di lavoro che rappresenta un file Excel.
Workbook wb = new Workbook();

// Ottieni il primo foglio di lavoro.
Worksheet sheet = wb.Worksheets[0];

// Ottenere la raccolta di celle del foglio di lavoro
Cells cells = sheet.Cells;

// Impostazione del valore sulle celle
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");

cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James"); 

cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1); 

cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang"); 

cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe"); 


cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France"); 


cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500); 

// Aggiunta di un nuovo oggetto elenco al foglio di lavoro
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];

// Aggiunta dello stile predefinito alla tabella
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;

// Mostra totale
listObject.ShowTotals = true;

// Imposta il tipo di calcolo del campo Trimestre
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;

// Salva il file Excel.
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);

Produzione

Crea tabella nel foglio di lavoro di Excel in C#

Ulteriori informazioni sull’utilizzo delle tabelle nei fogli di lavoro di Excel utilizzando C#.

Conclusione

In questo articolo, hai imparato come creare file Excel da zero usando C#. Inoltre, hai visto come inserire dati in fogli, generare grafici e inserire tabelle in file Excel. Puoi dare un’occhiata alla documentazione di Aspose.Cells per .NET per apprendere le funzionalità avanzate per la manipolazione dei file Excel in C#.

Articolo correlato