C# Crea, leggi o aggiorna documenti Excel

2023-10-31 03:21:53 zaki zou

Il foglio di calcolo Excel è un formato di file ampiamente utilizzato che consente agli utenti di organizzare, analizzare e presentare i dati in formato tabellare. La capacità di interagire con i file Excel a livello di codice è estremamente preziosa, poiché consente l'automazione e l'integrazione delle funzionalità di Excel nelle applicazioni software. Questa funzionalità è particolarmente utile quando si lavora con set di dati di grandi dimensioni, si eseguono calcoli complessi o quando i dati devono essere generati o aggiornati dinamicamente. In questo articolo imparerai come farlo creare, leggere o aggiornare documenti Excel in C# e VB.NET utilizzando Spire.XLS for .NET.

Installa Spire.XLS for .NET

Per cominciare, devi aggiungere i file DLL inclusi nel pacchetto Spire.XLS for .NET come riferimenti nel tuo progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.XLS

Crea un file Excel in C#, VB.NET

Spire.XLS for .NET offre una varietà di classi e interfacce che è possibile utilizzare per creare e modificare documenti Excel. Di seguito è riportato un elenco di classi, proprietà e metodi importanti coinvolti in questo articolo.

Membro Descrizione
Classe cartella di lavoro Rappresenta un modello di cartella di lavoro di Excel.
Metodo Workbook.Worksheets.Add() Aggiunge un foglio di lavoro alla cartella di lavoro.
Metodo Workbook.SaveToFile() Salva la cartella di lavoro in un documento Excel.
Classe di fogli di lavoro Rappresenta un foglio di lavoro in una cartella di lavoro.
Proprietà Worksheet.Range Ottiene una cella o un intervallo di celle specifico dal foglio di lavoro.
Proprietà Worksheet.Range.Value Ottiene o imposta il valore di una cella.
Proprietà Worksheet.Rows Ottiene una raccolta di righe nel foglio di lavoro.
Metodo Worksheet.InsertDataTable() Importa i dati da DataTable al foglio di lavoro.
Classe CellRange Rappresenta una cella o un intervallo di celle nel foglio di lavoro.

Di seguito sono riportati i passaggi per creare un documento Excel da zero utilizzando Spire.XLS for .NET.

  • Creare un oggetto cartella di lavoro.
  • Aggiungi un foglio di lavoro utilizzando il metodo Workbook.Worksheets.Add().
  • Scrivere i dati in una cella specifica tramite la proprietà Worksheet.Range.Value.
  • Importa i dati da un DataTable al foglio di lavoro utilizzando il metodo Worksheet.InsertDataTable().
  • Salva la cartella di lavoro in un documento Excel utilizzando il metodo Workbook.SaveToFile().
  • C#
  • VB.NET
using Spire.Xls;
    using System.Data;
    
    namespace CreateExcelSpreadsheet
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook wb = new Workbook();
    
                //Remove default worksheets
                wb.Worksheets.Clear();
    
                //Add a worksheet and name it "Employee"
                Worksheet sheet = wb.Worksheets.Add("Employee");
    
                //Merge the cells between A1 and G1
                sheet.Range["A1:G1"].Merge();
    
                //Write data to A1 and apply formatting to it
                sheet.Range["A1"].Value = "Basic Information of Employees of Huanyu Automobile Company";
                sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center;
                sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;
                sheet.Range["A1"].Style.Font.IsBold = true;
                sheet.Range["A1"].Style.Font.Size = 13F;
    
                //Set row height of the first row
                sheet.Rows[0].RowHeight = 30F;
    
                //Create a DataTable
                DataTable dt = new DataTable();
                dt.Columns.Add("Name");
                dt.Columns.Add("Gender");
                dt.Columns.Add("Birth Date");
                dt.Columns.Add("Educational Background");
                dt.Columns.Add("Contact Number");
                dt.Columns.Add("Position");
                dt.Columns.Add("ID");
                dt.Rows.Add("Allen", "Male", "1990-02-10", "Bachelor", "24756854", "Mechanic", "0021");
                dt.Rows.Add("Patrick", "Male", "1985-06-08", "Master", "59863247", "Mechanic", "0022");
                dt.Rows.Add("Jenna", "Female", "1989-11-25", "Bachelor", "79540352", "Sales", "0023");
                dt.Rows.Add("Tommy", "Male", "1988-04-16", "Master", "52014060", "Mechanic", "0024");
                dt.Rows.Add("Christina", "Female", "1998-01-21", "Bachelor", "35401489", "HR", "0025");
    
                //Import data from DataTable to worksheet
                sheet.InsertDataTable(dt, true, 2, 1, true);
    
                //Set row height of a range
                sheet.Range["A2:G7"].RowHeight = 15F;
    
                //Set column width
                sheet.Range["A2:G7"].Columns[2].ColumnWidth = 15F;
                sheet.Range["A2:G7"].Columns[3].ColumnWidth = 21F;
                sheet.Range["A2:G7"].Columns[4].ColumnWidth = 15F;
    
                //Set border style of a range
                sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium);
                sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin);
                sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium);
                sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black;
    
                //Save to a .xlsx file
                wb.SaveToFile("NewSpreadsheet.xlsx", FileFormat.Version2016);
            }
        }
    }

C#/VB.NET: Create, Read, or Update Excel Documents

Leggere i dati di un foglio di lavoro in C#, VB.NET

La proprietà Worksheet.Range.Value restituisce il valore numerico o il valore testo di una cella come stringa. Per ottenere i dati di un intero foglio di lavoro o di un intervallo di celle, scorrere le celle al suo interno. Di seguito sono riportati i passaggi per ottenere i dati di un foglio di lavoro utilizzando Spire.XLS for .NET.

  • Creare un oggetto cartella di lavoro.
  • Carica un documento Excel utilizzando il metodo Workbook.LoadFromFile().
  • Ottieni un foglio di lavoro specifico tramite la proprietà Workbook.Worksheets[index].
  • Ottieni l'intervallo di celle contenente i dati tramite la proprietà Worksheet.AllocatedRange.
  • Scorrere le righe e le colonne per ottenere le celle all'interno dell'intervallo e restituire il valore di ciascuna cella tramite la proprietà CellRange.Value.
  • C#
  • VB.NET
using Spire.Xls;
    
    namespace ReadExcelData
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook wb = new Workbook();
    
                //Load an existing Excel file
                wb.LoadFromFile(@"C:\Users\Administrator\Desktop\NewSpreadsheet.xlsx");
    
                //Get the first worksheet
                Worksheet sheet = wb.Worksheets[0];
    
                //Get the cell range containing data
                CellRange locatedRange = sheet.AllocatedRange;
    
                //Iterate through the rows
                for (int i = 0;i < locatedRange.Rows.Length;i++)
                {
                    //Iterate through the columns
                    for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++)
                    {
                        //Get data of a specific cell
                        Console.Write(locatedRange[i + 1, j + 1].Value + "  ");
    
                    }
                    Console.WriteLine();
                }
            }
        }
    }

C#/VB.NET: Create, Read, or Update Excel Documents

Aggiorna un documento Excel in C#, VB.NET

Per modificare il valore di una determinata cella, è sufficiente riassegnarle un valore tramite la proprietà Worksheet.Range.Value. Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto cartella di lavoro.
  • Carica un documento Excel utilizzando il metodo Workbook.LoadFromFile().
  • Ottieni un foglio di lavoro specifico tramite la proprietà Workbook.Worksheets[index].
  • Modificare il valore di una cella particolare tramite la proprietà Worksheet.Range.Value.
  • Salva la cartella di lavoro in un file Excel utilizzando il metodo Workbook.SaveToFile().
  • C#
  • VB.NET
using Spire.Xls;
    
    namespace UpdateCellValue
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook wb = new Workbook();
    
                //Load an existing Excel file
                wb.LoadFromFile(@"C:\Users\Administrator\Desktop\NewSpreadsheet.xlsx");
    
                //Get the first worksheet
                Worksheet sheet = wb.Worksheets[0];
    
                //Change the value of a specific cell
                sheet.Range["A1"].Value = "Updated Value";
    
                //Save to file
                wb.SaveToFile("Updated.xlsx", ExcelVersion.Version2016);
            }
        }
    }

C#/VB.NET: Create, Read, or Update Excel Documents

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche