Gestionar hojas de cálculo

Gestionar hojas de cálculo con Aspose.Cells es tan fácil como el ABC. En esta sección, describiremos cómo podemos:

  1. Crear un nuevo archivo de Excel desde cero y añadir una hoja de cálculo a él
  2. Añadir hojas de cálculo a hojas de cálculo diseñadas
  3. Acceder a las hojas de cálculo usando el nombre de la hoja
  4. Eliminar una hoja de cálculo de un archivo de Excel usando su nombre de la hoja
  5. Eliminar una hoja de cálculo de un archivo de Excel usando su índice de hoja

Aspose.Cells proporciona una clase, Workbook que representa un archivo de Excel. La clase Workbook contiene una WorksheetCollection que permite acceder a cada hoja de cálculo en el archivo de Excel.

Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una amplia gama de propiedades y métodos para gestionar una hoja de cálculo. Veamos cómo podemos hacer uso de este conjunto básico de APIs.

Añadir hojas de cálculo a un nuevo archivo de Excel

Para crear un nuevo archivo de Excel programáticamente, los desarrolladores necesitarían crear un objeto de la clase Workbook que representa un archivo de Excel. Luego, los desarrolladores pueden llamar al método add de la WorksheetCollection. Cuando llamamos al método add, se agrega automáticamente una hoja de cálculo vacía al archivo de Excel, la cual puede ser referenciada pasando el índice de la hoja recién agregada a la WorksheetCollection. Después de obtener la referencia de la hoja de cálculo, los desarrolladores pueden trabajar en sus hojas de cálculo según sus requisitos. Después de completar el trabajo en las hojas de cálculo, los desarrolladores pueden guardar su archivo de Excel recién creado con nuevas hojas de cálculo llamando al método save de la clase 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.");

Añadir hojas de cálculo a una hoja de cálculo de diseñador

El proceso de agregar hojas de cálculo a una hoja de cálculo de diseño es completamente igual al enfoque anterior, excepto que el archivo de Excel ya está creado y necesitamos abrir ese archivo de Excel primero antes de agregar una hoja de cálculo a él. Una hoja de cálculo de diseño puede ser abierta pasando la ruta del archivo o el flujo al inicializar la clase 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.");

Acceso a las hojas de cálculo usando el nombre de la hoja

Los desarrolladores pueden acceder o obtener cualquier hoja de cálculo especificando su nombre o índice.

// 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());

Eliminar hojas de cálculo utilizando el nombre de la hoja

A veces, los desarrolladores pueden necesitar eliminar hojas de cálculo de archivos de Excel existentes y esa tarea se puede realizar llamando al método removeAt de la colección WorksheetCollection. Podemos pasar el nombre de la hoja al método removeAt para eliminar una hoja de cálculo específica.

// 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.");

Eliminar hojas de cálculo utilizando el índice de la hoja

El enfoque anterior de eliminar hojas de cálculo funciona bien si los desarrolladores ya conocen los nombres de las hojas de cálculo que se van a eliminar. Pero, ¿qué pasa si no conoces el nombre de la hoja de cálculo que deseas eliminar de tu archivo de Excel?

Bueno, en tales circunstancias, los desarrolladores pueden usar una versión sobrecargada del método removeAt que toma el índice de la hoja de cálculo en lugar de su nombre de hoja.

// 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.");

Temas avanzados