Cómo trabajar con la configuración principal del libro de trabajo en .NET

Cómo trabajar con la configuración principal del libro de trabajo en .NET

Aspose.Cells FOSS para .NET expone la configuración a nivel de libro de trabajo a través de Workbook.Settings (configuración regional y sistema de fechas), Workbook.DocumentProperties (metadatos del autor), Workbook.LoadDiagnostics (informe de reparación) y SaveOptions (comportamiento de guardado). Instálalo con un único comando dotnet add package.

Guía paso a paso

Paso 1: Instalar el paquete

dotnet add package Aspose.Cells.FOSS

Paso 2: Importar el espacio de nombres

using Aspose.Cells_FOSS;
using System.Globalization;

Paso 3: Configurar WorkbookSettings

Workbook.Settings devuelve un objeto WorkbookSettings. Establezca Date1904 = true para archivos originados en macOS que usan el sistema de fechas 1904. Establezca Culture para controlar la configuración regional de análisis de números y fechas.

using Aspose.Cells_FOSS;
using System.Globalization;

var wb = new Workbook();
wb.Settings.Date1904 = false;
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings configured");
wb.Save("settings.xlsx");

var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);

Paso 4: Establecer propiedades del documento

Workbook.DocumentProperties expone Title, Subject, Author, Keywords, Comments, Category, Company y Manager como propiedades de cadena directas.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.DocumentProperties.Title = "Quarterly Report";
wb.DocumentProperties.Author = "Reporting Team";
wb.DocumentProperties.Company = "Contoso Ltd";
wb.DocumentProperties.Keywords = "quarterly, sales, 2026";
wb.Save("properties.xlsx");

var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);

Paso 5: Usar SaveOptions

Workbook.Save(path, SaveOptions) acepta un objeto SaveOptions para personalizar la salida. Propiedades clave: UseSharedStrings (reduce el tamaño del archivo para hojas con cadenas repetidas), ValidateBeforeSave (ejecuta la validación antes de escribir) y CompactStyles (elimina estilos no utilizados).

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 50; i++)
    ws.Cells[i, 0].PutValue("Repeated text");

var opts = new SaveOptions
{
    UseSharedStrings = true,
    ValidateBeforeSave = true,
    CompactStyles = true,
};

wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");

Paso 6: Leer LoadDiagnostics después de la reparación

Después de cargar con TryRepairPackage = true, verifique Workbook.LoadDiagnostics para ver si se aplicaron reparaciones.

using Aspose.Cells_FOSS;

var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;

Console.WriteLine("HasRepairs: " + diag.HasRepairs);
Console.WriteLine("HasDataLossRisk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
    Console.WriteLine($"  [{entry.Severity}] {entry.Code}: {entry.Message}");

Problemas comunes y soluciones

WorkbookSaveException when ValidateBeforeSave = true. El libro de trabajo contiene una inconsistencia estructural. Desactivar ValidateBeforeSave temporalmente para guardar e inspeccionar el archivo, luego arreglar el contenido problemático.

Propiedades del documento no visibles en el panel de Información de archivo de Excel. Asegúrese de que está estableciendo propiedades en Workbook.DocumentProperties, no Workbook.Properties. El último contiene banderas de visualización, no cadenas de metadatos.

Date1904 = true causa que los valores de fecha se desplacen. Date1904 cambia la época utilizada para los números de serie de fecha. Sólo configúrelo en true para archivos que se originaron en Excel de macOS con el sistema de fechas 1904 habilitado; mezclar sistemas provoca errores de 1462 días.

Preguntas frecuentes

¿Cuál es la diferencia entre WorkbookSettings y WorkbookProperties?

WorkbookSettings (a través de Workbook.Settings) contiene valores de configuración como Date1904 y Culture. WorkbookProperties (a través de Workbook.Properties) contiene indicadores de visualización OOXML como ShowObjects. Las cadenas de metadatos del documento (Título, Autor, etc.) se encuentran en Workbook.DocumentProperties.

¿CompactStyles alguna vez elimina los estilos que necesito?

No. CompactStyles solo elimina estilos que no están referenciados por ninguna celda o regla de formato en el libro de trabajo.

¿Puedo leer LoadDiagnostics incluso cuando no se intentó ninguna reparación?

Sí. La colección Issues estará vacía y tanto HasRepairs como HasDataLossRisk devolverán false.

Ver también

 Español