Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se muestra cómo usar las clases del SDK de Open XML para Office para recuperar mediante programación una lista de las hojas de cálculo de un libro de Microsoft Excel, sin cargar el documento en Excel. Contiene un método de ejemplo GetAllWorksheets
para ilustrar esta tarea.
Método GetAllWorksheets
Puede usar el GetAllWorksheets
método , que se muestra en el código siguiente, para recuperar una lista de las hojas de cálculo de un libro. El GetAllWorksheets
método acepta un único parámetro, una cadena que indica la ruta de acceso del archivo que desea examinar.
Sheets? sheets = GetAllWorksheets(args[0]);
El método funciona con el libro que especifique, devolviendo una instancia del objeto, desde la Sheets que puede recuperar una referencia a cada Sheet objeto.
Llamar al método GetAllWorksheets
Para llamar al GetAllWorksheets
método , pase el valor necesario, como se muestra en el código siguiente.
Sheets? sheets = GetAllWorksheets(args[0]);
if (sheets is not null)
{
foreach (Sheet sheet in sheets)
{
Console.WriteLine(sheet.Name);
}
}
Funcionamiento del código
El método de ejemplo, GetAllWorksheets
, crea una variable que contendrá una referencia a la Sheets
colección del libro. Al final de su trabajo, el método devuelve la variable , que contiene una referencia a la Sheets
colección o null
/Nothing
si no había hojas (esto no puede ocurrir en un libro con formato correcto).
Sheets? theSheets = null;
A continuación, el código continúa abriendo el documento en modo de solo lectura y recuperando una referencia a WorkbookPart.
using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
{
theSheets = document?.WorkbookPart?.Workbook.Sheets;
Para obtener acceso al Workbook objeto , el código recupera el valor de la Workbook propiedad de y WorkbookPart
, a continuación, recupera una referencia al Sheets
objeto de la Sheets propiedad de Workbook
. El Sheets
objeto contiene la colección de Sheet objetos que proporcionan el valor devuelto del método.
theSheets = document?.WorkbookPart?.Workbook.Sheets;
Código de ejemplo
A continuación se muestra el ejemplo de código completo GetAllWorksheets
en C# y Visual Basic.
static Sheets? GetAllWorksheets(string fileName)
{
Sheets? theSheets = null;
using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
{
theSheets = document?.WorkbookPart?.Workbook.Sheets;
}
return theSheets;
}