Cómo editar un archivo de Excel en C#

C# Editar archivo de Excel

This article was translated from English: Does it need improvement?
Translated
View the article in English

Los desarrolladores deben tener cuidado cuando establecen modificar y editar archivos de Excel en C# porque puede ser fácil que un descuido cambie todo el documento. Poder confiar en líneas de código simples y eficientes ayuda a reducir el riesgo de error, y facilita la edición o eliminación de archivos de Excel de manera programática. Hoy recorreremos los pasos necesarios para editar archivos de Excel en C# de manera correcta y rápida utilizando funciones probadas.

como-título:2(Inicio rápido: Editar un valor específico de celda con IronXL)

Este ejemplo muestra lo fácil que es cargar un archivo de Excel existente, actualizar una sola celda y guardar los cambios usando IronXL. Comience en menos de 5 líneas, no se requiere Interop.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Paso 1

1. Editar archivos de Excel en C# usando la biblioteca IronXL

Para este tutorial, utilizaremos las funciones definidas por IronXL, una biblioteca de Excel para C#. Para usar estas funciones, primero necesitarás descargarla e instalarla en tu proyecto (gratuita para desarrollo).

You can either Download IronXL.zip or read more and install via the NuGet package page.

Una vez que lo hayas instalado, ¡comencemos!


Install-Package IronXL.Excel

Reemplace x.x.x con el número de versión apropiado según sea necesario.


Tutorial de cómo hacerlo

2. Editar valores de celda específicos

Primero, veremos cómo editar valores específicos de celdas de una hoja de cálculo de Excel.

Para este propósito, importamos la hoja de cálculo de Excel que se va a modificar y luego accedemos a su hoja de trabajo. Luego podemos aplicar las modificaciones, como se muestra a continuación.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs
using IronXL;

// Load the Excel workbook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Access a specific worksheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Access specific cell by identifying its row and column, then modify its value
ws.Rows[3].Columns[1].Value = "New Value";
// Save changes to the workbook
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Aquí están las capturas de pantalla de antes y después de la hoja de cálculo de Excel sample.xlsx:

Antes Después
before after

Podemos ver lo sencillo que es modificar el valor de la hoja de cálculo de Excel.

Si es necesario, también hay una forma alternativa de editar el valor de la celda específica por dirección de celda:

// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
' Alternative way to access specific cell and apply changes
ws("B4").Value = "New Value"
$vbLabelText   $csharpLabel

3. Editar valores de fila completa

Es bastante simple editar valores de fila completa de una hoja de cálculo de Excel con un valor estático.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ve las capturas de pantalla de sample.xlsx a continuación:

Antes Después
before after

Para esto, también podemos editar el valor de un rango específico de la fila, utilizando la función de rango:

// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
' Editing a specific range of a row
ws("A3:E3").Value = "New Value"
$vbLabelText   $csharpLabel

4. Editar valores de columna completos

De la misma manera que antes, podemos editar fácilmente columnas completas de valores de hoja de cálculo de Excel con un solo valor.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire column
ws.Columns[1].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Lo que producirá nuestra hoja de cálculo sample.xlsx de la siguiente manera:

Antes Después
before after

5. Editar fila completa con valores dinámicos

Usando IronXL, también es posible editar filas específicas con valores dinámicos. Esto significa que podemos editar una fila completa asignando valores dinámicos a cada celda. Veamos el ejemplo:

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
    // Assign dynamic values to each cell in the row
    ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

En la tabla a continuación, vemos las capturas de pantalla de la hoja de cálculo de Excel sample.xlsx de este resultado:

Antes Después
before after

6. Editar columna completa con valores dinámicos

También es sencillo editar columnas específicas con valores dinámicos.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
    // Skip the first row if it's used as a header
    if (i == 0)
        continue;
    // Assign dynamic values to each cell in the column
    ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Con los resultados de tabla de sample.xlsx a continuación:

Antes Después
before after

7. Reemplazar valores de la hoja de cálculo

Si queremos reemplazar cualquier tipo de valor con un valor actualizado en una hoja de cálculo de Excel, podemos utilizar la función llamada Replace. Usando esta función, podemos reemplazar los datos de la hoja de cálculo de Excel en cualquier situación requerida.

7.1. Reemplazar el valor específico de la hoja de cálculo completa

Para reemplazar un valor específico de una hoja de trabajo completa de Excel con un valor actualizado, solo accedemos a la hoja de trabajo ws (igual que en los ejemplos anteriores) y aplicamos la función Replace de esta manera.

// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
' Replace a specific value in the entire worksheet
ws.Replace("old value", "new value")
$vbLabelText   $csharpLabel

Esta función reemplazará valor antiguo con valor nuevo en una hoja de trabajo completa de Excel.

No olvides guardar el archivo después de cualquier cambio, como se muestra en los ejemplos anteriores.

7.2. Reemplazar los valores de una fila específica

Si solo deseas hacer cambios a una fila específica en lugar de toda la hoja de trabajo, usa este código.

// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
' Replace a specific value in a specific row
ws.Rows(2).Replace("old value", "new value")
$vbLabelText   $csharpLabel

El código anterior reemplazará valor antiguo con valor nuevo solo en la fila número 2. El resto de la hoja de trabajo permanece igual.

7.3. Reemplazar los valores del rango de filas

También podemos reemplazar los valores dentro de un rango específico de la siguiente manera:

// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
' Replace specific values in a row range
ws("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Supongamos que queremos reemplazar un valor antiguo con un nuevo valor, solo en el rango de B4 a E4 de la fila no 4, entonces lo escribiríamos así:

ws["B4:E4"].Replace("old value", "new value");
ws["B4:E4"].Replace("old value", "new value");
ws("B4:E4").Replace("old value", "new value")
$vbLabelText   $csharpLabel

7.4. Reemplazar los valores de una columna específica

También podemos reemplazar los valores de una columna específica, y el resto de la hoja de trabajo permanece igual.

// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
' Replace specific values in a column
ws.Columns(1).Replace("old value", "new value")
$vbLabelText   $csharpLabel

El código anterior reemplazará valor antiguo con valor nuevo solo para la columna número 1.

7.5. Reemplazar los valores del rango de columnas

De la siguiente manera, también podemos usar la función de rango para reemplazar dentro de un rango de una columna específica.

// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
' Replace specific values in a column range
ws("B5:B10").Replace("old value", "new value")
$vbLabelText   $csharpLabel

El código anterior reemplazará valor antiguo con valor nuevo solo dentro del rango de B5 a B10 para la columna B.


8. Eliminar fila de la hoja de cálculo de Excel

IronXL proporciona una función muy sencilla para eliminar una fila específica de una hoja de trabajo de Excel. Veamos el ejemplo.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El código anterior eliminará la fila número 3 de sample.xlsx como se muestra en la siguiente tabla:

Antes Después
before after

9. Eliminar la hoja de cálculo del archivo de Excel

Si queremos eliminar una hoja de trabajo completa de un archivo de Excel, podemos utilizar el siguiente método:

// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
' Remove a worksheet by its index
wb.RemoveWorkSheet(1) ' by sheet indexing
$vbLabelText   $csharpLabel

wb es el libro de trabajo, tal y como en los ejemplos anteriores. Si queremos eliminar una hoja de trabajo por nombre, entonces:

// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
' Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
$vbLabelText   $csharpLabel

IronXL es rico en muchas más funciones mediante las cuales podemos realizar fácilmente cualquier tipo de edición y eliminación en hojas de cálculo de Excel. Por favor contacta a nuestro equipo de desarrollo si tienes alguna pregunta para usar en tu proyecto.


Acceso rápido a la biblioteca

Documentación de la biblioteca IronXL

Explore todas las capacidades de la biblioteca C# IronXL con varias funciones para editar, eliminar, diseñar y perfeccionar sus libros de Excel.

Documentación de la biblioteca IronXL
Documentation related to 9. Eliminar la hoja de cálculo del archivo de Excel

Preguntas Frecuentes

¿Cómo puedo editar archivos de Excel en C# sin usar Interop?

Puede editar archivos de Excel en C# sin usar Interop al utilizar la biblioteca IronXL. IronXL proporciona una variedad de métodos para modificar documentos Excel, como editar celdas, filas y columnas, e incluso eliminar hojas de trabajo.

¿Cómo modifico los valores de celda en un archivo de Excel usando IronXL?

Para modificar valores de celda en un archivo de Excel usando IronXL, cargue el libro de Excel y acceda a la hoja de trabajo específica. Puede cambiar el valor de la celda especificando los índices de fila y columna y luego guardando el libro.

¿Cuál es el método para reemplazar valores en una aplicación Excel en C#?

En una aplicación Excel en C#, puede reemplazar valores usando la función Replace de IronXL. Esto le permite reemplazar valores específicos en toda la hoja de trabajo, dentro de una fila, columna o rango particular.

¿Cómo puedo eliminar una hoja de trabajo de un archivo Excel programáticamente en C#?

Puede eliminar una hoja de trabajo de un archivo Excel programáticamente en C# usando el método RemoveWorkSheet de IronXL. Puede especificar la hoja de trabajo a eliminar por su nombre o índice.

¿Puedo editar filas completas en un archivo de Excel usando C#?

Sí, con IronXL, puede editar filas completas en un archivo de Excel usando C#. Puede asignar valores estáticos o dinámicos a las celdas dentro de una fila iterando a través de las columnas.

¿Es posible establecer un valor estático para una columna completa en un archivo de Excel?

Sí, IronXL le permite establecer un valor estático para toda una columna en un archivo de Excel. También puede usar valores dinámicos si es necesario, iterando sobre cada celda en la columna.

¿Cómo elimino una fila específica de una hoja de cálculo Excel usando C#?

Para eliminar una fila específica de una hoja de cálculo Excel usando C#, use el método RemoveRow de la biblioteca IronXL, especificando la fila que desea eliminar.

¿Cuáles son los pasos iniciales para comenzar a editar archivos de Excel usando C#?

Para comenzar a editar archivos de Excel usando C#, primero descargue e instale la biblioteca IronXL. Luego, cargue su libro de Excel, seleccione la hoja de trabajo que desea editar y utilice las funciones de IronXL para modificar celdas, filas, columnas o hojas de trabajo según sea necesario.

¿IronXL es adecuado para entornos de desarrollo?

Sí, IronXL es altamente adecuado para entornos de desarrollo. Se puede usar libremente con fines de desarrollo y ofrece una suite completa de funciones para editar archivos de Excel programáticamente.

¿Cómo puedo convertir un archivo de Excel a un formato diferente usando C#?

IronXL permite la conversión de archivos de Excel a diferentes formatos usando sus funciones de exportación. Puede guardar su libro de Excel modificado en formatos como CSV, HTML o PDF usando los métodos de IronXL.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado