In alcuni casi, potrebbe essere necessario copiare fogli di lavoro all’interno di una cartella di lavoro di Excel o da una cartella di lavoro all’altra. D’altra parte, in diversi scenari è necessario anche spostare i fogli di lavoro per cambiarne la posizione all’interno di una cartella di lavoro. Per eseguire le attività sopra menzionate a livello di codice, in questo articolo viene illustrato come copiare fogli di lavoro di Excel all’interno di cartelle di lavoro usando C#. Inoltre, illustra anche come modificare la posizione di un foglio di lavoro in una cartella di lavoro di Excel.
- API C# per copiare fogli di lavoro Excel
- Copia i fogli di lavoro all’interno di una cartella di lavoro di Excel
- Copia i fogli di lavoro da una cartella di lavoro all’altra
- Sposta i fogli di lavoro da una posizione all’altra
- Ottieni una licenza API gratuita
API C# per copiare fogli di lavoro Excel
Per copiare fogli di lavoro in file Excel, sfrutteremo le potenti capacità di manipolazione dei fogli di calcolo di Aspose.Cells for .NET. L’API offre un’ampia gamma di funzionalità per generare ed elaborare file Excel dall’interno delle applicazioni .NET. Puoi scaricare i binari dell’API o installarlo utilizzando NuGet.
PM> Install-Package Aspose.Cells
Copia i fogli di lavoro di Excel usando C#
Di seguito sono riportati i passaggi per copiare un foglio di lavoro di Excel all’interno di una cartella di lavoro usando C#.
- Carica il file Excel usando la classe Cartella di lavoro.
- Recupera i fogli di lavoro in un oggetto WorksheetCollection dalla proprietà Workbook.Worksheets.
- Utilizzare il metodo WorksheetCollection.AddCopy(string) per copiare il foglio di lavoro fornendone il nome.
- Salvare la cartella di lavoro aggiornata utilizzando il metodo Workbook.Save(string).
Nell’esempio di codice seguente viene illustrato come copiare un foglio di lavoro di Excel in una cartella di lavoro.
// Apri un file Excel esistente
Workbook wb = new Workbook("workbook.xlsx");
// Creare un oggetto WorksheetCollection con riferimento ai fogli della cartella di lavoro
WorksheetCollection sheets = wb.Worksheets;
// Copia i dati in un nuovo foglio da un foglio esistente all'interno della cartella di lavoro
sheets.AddCopy("Sheet1");
// Salva il file Excel
wb.Save("CopyWithinWorkbook.xlsx");
Copia i fogli di lavoro di Excel da una cartella di lavoro a un’altra
Ora, diamo un’occhiata a come copiare un foglio di lavoro da una cartella di lavoro di Excel a un’altra. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Crea un oggetto della classe Workbook e carica il file Excel di origine.
- Crea un altro oggetto della classe Workbook e carica il file Excel di destinazione.
- Copia il foglio di lavoro dalla cartella di lavoro di origine a quella di destinazione utilizzando il metodo destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Salvare la cartella di lavoro di destinazione utilizzando il metodo Workbook.Save(string).
Nell’esempio di codice seguente viene illustrato come copiare un foglio di lavoro da una cartella di lavoro a un’altra in C#.
// Apri file Excel sorgente
Workbook sourceWorkbook = new Workbook("source.xlsx");
// Apri il file Excel di destinazione
Workbook destinationWorkbook = new Workbook("destination.xlsx");
// Copia il primo foglio della cartella di lavoro di origine nella cartella di lavoro di destinazione
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);
// Salva il file Excel
destinationWorkbook.Save("copy-worksheets.xlsx");
Sposta il foglio di lavoro da una posizione all’altra in C#
Potrebbe verificarsi il caso in cui è necessario riorganizzare le posizioni dei fogli di lavoro in una cartella di lavoro. Puoi farlo spostando i fogli di lavoro nelle posizioni desiderate specificando l’indice. Di seguito sono riportati i passaggi per spostare un foglio di lavoro di Excel da una posizione all’altra.
- Carica il file Excel usando la classe Cartella di lavoro.
- Recupera i fogli di lavoro in un oggetto WorksheetCollection utilizzando la proprietà Workbook.Worksheets.
- Accedi al foglio di lavoro desiderato dalla raccolta di fogli di lavoro in un oggetto Foglio di lavoro.
- Utilizzare il metodo Worksheet.MoveTo(int) per spostare il foglio di lavoro nell’indice specificato.
- Salvare la cartella di lavoro aggiornata utilizzando il metodo Workbook.Save(string).
Nell’esempio di codice seguente viene illustrato come spostare un foglio di lavoro di Excel da una posizione a un’altra usando C#.
// Apri un file excel esistente
Workbook wb = new Workbook("workbook.xlsx");
// Creare un oggetto WorksheetCollection con riferimento ai fogli della cartella di lavoro
WorksheetCollection sheets = wb.Worksheets;
// Ottieni il primo foglio di lavoro.
Worksheet worksheet = sheets[0];
// Sposta il primo foglio nella terza posizione nella cartella di lavoro
worksheet.MoveTo(2);
// Salva il file Excel
wb.Save("move-worksheet.xlsx");
Ottieni una licenza API gratuita
Puoi provare a valutare Aspose.Cells per .NET gratuitamente richiedendo una licenza temporanea.
Conclusione
In questo articolo si è appreso come copiare fogli di lavoro di Excel all’interno di una cartella di lavoro o da una cartella di lavoro a un’altra usando C#. Inoltre, hai visto come spostare un foglio di lavoro di Excel da una posizione all’altra all’interno di una cartella di lavoro. Puoi esplorare altre funzionalità di Aspose.Cells per .NET usando la documentazione. In caso di domande, non esitare a postare sul nostro forum.