Gestire i Fogli di Lavoro

Gestire i fogli di lavoro utilizzando Aspose.Cells è facile come ABC. In questa sezione, descriveremo come possiamo:

  1. Creare un nuovo file Excel da zero e aggiungere un foglio di lavoro ad esso
  2. Aggiungere fogli di lavoro ai fogli di progettazione
  3. Accesso ai fogli di lavoro utilizzando il nome del foglio
  4. Rimuovere un foglio di lavoro da un file Excel utilizzando il suo nome del foglio
  5. Rimuovere un foglio di lavoro da un file Excel utilizzando il suo indice del foglio

Aspose.Cells fornisce una classe, Workbook che rappresenta un file Excel. La classe Workbook contiene un WorksheetCollection che consente l’accesso a ciascun foglio di lavoro nel file Excel.

Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce una vasta gamma di proprietà e metodi per gestire un foglio di lavoro. Vediamo come possiamo utilizzare questi semplici set di API.

Aggiungere fogli di lavoro a un nuovo file Excel

Per creare un nuovo file Excel tramite programmazione, gli sviluppatori devono creare un oggetto della classe Workbook che rappresenta un file Excel. Quindi gli sviluppatori possono chiamare il metodo add della classe WorksheetCollection. Quando chiamiamo il metodo add, viene aggiunto automaticamente un foglio di lavoro vuoto al file Excel, che può essere referenziato passando l’indice del foglio appena aggiunto al WorksheetCollection. Dopo aver ottenuto il riferimento al foglio di lavoro, gli sviluppatori possono lavorare sui fogli di lavoro secondo le proprie esigenze. Dopo aver lavorato sui fogli di lavoro, gli sviluppatori possono salvare il nuovo file Excel con i nuovi fogli di lavoro chiamando il metodo save della classe Workbook.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingWorksheetstoNewExcelFile.class) + "worksheets/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToNewExcelFile_out.xls");
// Print Message
System.out.println("Sheet added successfully.");

Aggiunta di fogli di lavoro a un foglio di lavoro progettato

Il processo di aggiunta di fogli di lavoro a un foglio di calcolo designer è del tutto simile a quello dell’approccio sopra, tranne che il file Excel è già creato e occorre aprirlo prima di aggiungere un foglio di lavoro. Un foglio di calcolo designer può essere aperto passando il percorso del file o il flusso durante l’inizializzazione della classe Workbook.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingWorksheetstoDesignerSpreadsheet.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToDesignerSpreadsheet_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet added successfully.");

Accesso ai fogli di lavoro utilizzando il nome del foglio

Gli sviluppatori possono accedere o ottenere qualsiasi foglio di lavoro specificando il suo nome o indice.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AccessingWorksheetsusingSheetName.class) + "worksheets/";
String filePath = dataDir + "book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(filePath);
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Accessing a worksheet using its sheet name
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
Cell cell = worksheet.getCells().get(0, 0);
// Print Message
System.out.println(cell.getValue());

Rimozione dei fogli di lavoro utilizzando il nome del foglio

A volte, gli sviluppatori possono avere la necessità di rimuovere fogli di lavoro da file Excel esistenti e tale operazione può essere eseguita chiamando il metodo removeAt della collezione WorksheetCollection. Possiamo passare il nome del foglio al metodo removeAt per rimuovere un foglio di lavoro specifico.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(RemovingWorksheetsusingSheetName.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet name
workbook.getWorksheets().removeAt("Sheet1");
// Saving the Excel file
workbook.save(dataDir + "RemovingWorksheetsusingSheetName_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

Rimozione dei fogli di lavoro utilizzando l’indice del foglio

L’approccio precedente alla rimozione dei fogli di lavoro funziona bene se gli sviluppatori conoscono già i nomi dei fogli di lavoro da eliminare. Ma, cosa fare se non si conosce il nome del foglio di lavoro che si desidera rimuovere dal proprio file Excel?

Bene, in tali circostanze, gli sviluppatori possono utilizzare una versione sovraccaricata del metodo removeAt che prende l’indice del foglio di lavoro invece del suo nome del foglio.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(RemovingWorksheetsusingSheetIndex.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet index
workbook.getWorksheets().removeAt(0);
// Saving the Excel file
workbook.save(dataDir + "RWUsingSheetIndex_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

Argomenti avanzati