In questo articolo imparerai come creare file XLS/XLSX di Excel a livello di codice in C# senza installare MS Office.
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 di automazione C# Excel
- Crea file Excel XLS o XLSX in modo dinamico utilizzando C#
- Scrivi i dati nel file Excel esistente usando C#
- Crea grafici o grafici in un file Excel usando C#
- Crea una tabella in un file Excel usando C#
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
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
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
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
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#.