Los formatos de archivo de hoja de cálculo más comunes y ampliamente utilizados son XLS, XLSX y ODS. Los famosos Microsoft Excel y OpenOffice Calc soportan estos formatos y normalmente los usamos para mantener cuentas y diferentes hojas de cálculo. Por lo tanto, como desarrollador, necesitamos editar archivos de Excel dentro de nuestras aplicaciones mediante programación. En este artículo, discutiremos cómo editar archivos de Excel en C# usando la API de .NET.

Los siguientes son los temas tratados brevemente en este artículo:

.NET API para edición y automatización de hojas de cálculo de Excel

GroupDocs muestra la API de .NET para la edición de hojas de cálculo. Lo usaré en los ejemplos de C# de este artículo. Es la API de edición de documentos y permite a los desarrolladores cargar, editar y guardar varios formatos de documentos utilizando editores HTML WYSIWYG. Además de los formatos de hoja de cálculo XLS, XLSX y ODS, la API admite la edición de varios otros hojas de cálculo y formatos compatibles con MS Excel como CSV, TSV, DSV, XLT, XLTX, XLTM, XLSM, XLSB, XLAM, SXC, SpreadsheetML, FODS, DIF.

Descargue el instalador DLL o MSI desde la sección de descargas o instale la API en su aplicación .NET a través de [NuGet](https ://www.nuget.org/packages/groupdocs.editor).

PM> Install-Package GroupDocs.Editor

Editar archivos de Excel en C#

Espero que hayas referenciado con éxito la API. Ahora puede comenzar a editar rápidamente sus documentos de Excel. Los siguientes pasos le permitirán editar los documentos de la hoja de cálculo usando C#.

  • Cargar el archivo de Excel.
  • Editar según las opciones.
  • Guardar el documento editado.

Cargar la hoja de cálculo de Excel

En primer lugar, cargue la hoja de cálculo proporcionando la ruta/secuencia del documento y la contraseña (si el documento está protegido por contraseña).

// Cargue el archivo de Excel usando C#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any

// Cargue la hoja de cálculo
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

Editar el archivo de Excel

Después de cargar, puede editar la hoja de cálculo cargada según sea necesario. Ahora vamos a reemplazar todas las apariciones de “Nombre de la empresa anterior” con “Nombre de la empresa nueva” en la primera pestaña de la hoja de cálculo. Los siguientes pasos le permiten editar el archivo de Excel en consecuencia en C#.

El siguiente código fuente de C# edita el archivo de Excel y cambia su contenido.

// Edite la hoja de cálculo de Excel usando C#

Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "contraseña";

// Cargue la hoja de cálculo
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

// Obtener la primera pestaña de la hoja de cálculo
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet

// Obtener marcado HTML de alguna instancia de EditableDocument
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML -> BODY element
string allContent = firstTab.GetContent();      // Full HTML markup of all document, with HTML -> HEAD header and all its content

List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;

string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);

Guardar el archivo de Excel editado con opciones

Después de editar, mientras guarda el contenido de la hoja de cálculo editada, puede configurar varias opciones. Estas opciones incluyen; configuración de contraseña, formato de salida, protección, etc. Estoy configurando las opciones anteriores en el código mencionado a continuación y guardando la hoja de cálculo editada como un archivo XLSX protegido por contraseña y protegido contra escritura.

// Guarde el archivo de Excel con el contenido actualizado usando C#
// Crear opciones de guardado
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);

// Establecer nueva contraseña de apertura
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");

// Crear flujo de salida
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
    editor.Save(afterEdit, outputStream, saveOptions);
}

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

Para concluir, discutimos cómo editar documentos de Excel en C# usando la API de edición de documentos para aplicaciones .NET. Puede utilizar la API con los editores WYSIWYG para la edición visual de sus documentos. Después de eso, puede seguir adelante para crear su propio editor de hojas de cálculo en línea.

Para obtener más detalles, opciones y ejemplos, puede visitar el repositorio de documentación y GitHub . Para más consultas, comuníquese con el soporte en el foro.

Artículos relacionados

Ver también