Cómo editar un archivo de Excel en C#

C# Editar archivo Excel

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

Edite archivos de Excel en C# utilizando la biblioteca IronXL, que proporciona métodos sencillos para modificar celdas, filas, columnas y hojas de cálculo mediante programación sin Excel Interop, reduciendo los errores y la complejidad.

Los desarrolladores necesitan precisión a la hora de modificar archivos Excel en C# porque un error puede corromper documentos enteros. Un código sencillo y eficaz reduce el riesgo de error y simplifica la edición o eliminación programática de archivos Excel. IronXL ofrece una solución completa para trabajar con archivos de Excel en C# que elimina las dependencias de Microsoft Office. Esta guía cubre los pasos para editar archivos Excel en C# de forma correcta y rápida utilizando funciones probadas.

Inicio rápido: Editar un Valor de Celda Específico con IronXL

Este ejemplo muestra cómo cargar un archivo de Excel existente, actualizar una sola celda y guardar los cambios utilizando IronXL. Comience en menos de 5 líneas, no se requiere Interop. Para operaciones complejas, explore nuestra completa Referencia API.

  1. Instala IronXL con el Administrador 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

    Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Paso 1

¿Cómo configuro IronXL para la edición de C# Excel?

Este tutorial utiliza IronXL, una biblioteca de C# Excel. Descárgalo e instálalo en tu proyecto (gratis para desarrolladores) para utilizar estas funciones. IronXL es compatible con varias plataformas, incluidas Linux y macOS, lo que lo hace versátil para el desarrollo multiplataforma.

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

Una vez instalado, comencemos. ¿Es nuevo en IronXL? Consulte nuestra Descripción general para obtener una introducción completa.


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

¿Cómo edito valores específicos de celdas en Excel?

Primero, aprenda a editar valores específicos de celdas de un Excel SpreadSheet. Esta es una de las operaciones más comunes cuando editamos archivos Excel en C#.

Importe el Excel SpreadSheet para modificar, luego acceda a su WorkSheet. Aplique las modificaciones que se indican a continuación. IronXL proporciona múltiples formas de acceder a las celdas, ofreciendo flexibilidad para diferentes estilos de programació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");
Imports IronXL

' Load the Excel workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Access a specific worksheet
Dim ws As WorkSheet = 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")
$vbLabelText   $csharpLabel

Aquí están las capturas de pantalla antes y después de Excel SpreadSheet sample.xlsx:

Antes Después
Hoja de cálculo de Excel con celda destacada mostrando 'Francia' en la columna País, demostrando selección de celda para edición Celda de Excel B4 mostrando 'Nuevo Valor' con borde de selección azul después de editar el contenido de la celda

Observe lo simple que es modificar el valor del Excel SpreadSheet. Este enfoque funciona bien cuando se actualizan puntos de datos específicos sin afectar al resto de la hoja de cálculo.

Una forma alternativa de editar valores de celda específicos 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

¿Cómo editar valores de filas completas en Excel?

Edite fácilmente los valores completos de una fila de un Excel SpreadSheet con un valor estático. Esta operación ayuda a la hora de actualizar registros enteros a la vez, como el restablecimiento de datos o la aplicación de actualizaciones masivas. Para operaciones complejas con filas, explore añadir filas y columnas.

: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");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

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

Antes Después
Hoja de cálculo de Excel con la fila 4 destacada mostrando datos del segmento Gobierno para Francia con el producto Montana Tabla de Excel mostrando nueva fila con entradas 'Nuevo Valor' añadidas en todas las columnas en una hoja de datos de ventas

Edite valores de un rango específico dentro de una fila utilizando la función range:

// 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

Al trabajar con rangos, es posible que también necesites seleccionar rangos para operaciones avanzadas como ordenar o aplicar fórmulas.


¿Cómo edito valores de columnas completas en Excel?

Edite valores completos de columnas de Excel SpreadSheet con un solo valor fácilmente. Esto funciona bien en situaciones como la actualización de columnas de divisas, la aplicación de nuevos tipos impositivos o la estandarización de formatos de datos en toda una columna.

: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");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire column
ws.Columns(1).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Esto produce nuestra hoja de cálculo sample.xlsx como se muestra:

Antes Después
Hoja de cálculo de Excel con la columna País destacada en azul, mostrando datos de negocios a través de segmentos y países Hoja de cálculo de Excel mostrando la columna B llena con el texto 'Nuevo Valor' después de la operación de edición masiva de columnas

¿Cómo edito una fila completa con valores dinámicos?

IronXL permite editar filas específicas con valores dinámicos. Edite una fila completa asignando valores dinámicos a cada celda. Este enfoque funciona bien cuando se importan datos de bases de datos u otras fuentes que requieren valores únicos por celda. Vea 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");
Imports IronXL
Imports System.Linq

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Columns.Count() - 1
    ' Assign dynamic values to each cell in the row
    ws.Rows(3).Columns(i).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

La tabla a continuación muestra capturas de pantalla de Excel SpreadSheet sample.xlsx de esta salida:

Antes Después
Hoja de cálculo de Excel con la fila 4 destacada mostrando datos del segmento Enterprise antes de editar con valores dinámicos Hoja de Excel con la fila 4 mostrando texto de marcador de posición 'Nuevo Valor 0-4' después de la operación de edición dinámica de filas

¿Cómo edito una columna completa con valores dinámicos?

Edite columnas específicas con valores dinámicos de forma sencilla. Esta técnica ayuda a rellenar columnas con datos secuenciales como números de identificación, fechas o valores calculados en función de la posición de la fila.

: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");
Imports IronXL
Imports System.Linq

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Rows.Count() - 1
    ' Skip the first row if it's used as a header
    If i = 0 Then
        Continue For
    End If
    ' Assign dynamic values to each cell in the column
    ws.Rows(i).Columns(1).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

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

Antes Después
Hoja de cálculo de Excel con la columna País destacada, mostrando datos de negocios a través de segmentos y productos Hoja de Excel mostrando la columna País llena con valores de marcador de posición dinámicos 'Nuevo Valor 1-9' después de la operación de edición masiva

¿Cómo reemplazar valores de una hoja de cálculo en Excel?

Reemplace cualquier tipo de valor con un valor actualizado en un Excel SpreadSheet usando la función Replace. Use esta función para reemplazar datos de Excel SpreadSheet en cualquier situación requerida. Esto funciona bien para limpiar datos, actualizar terminología o corregir errores sistemáticos en hojas de cálculo.

¿Cómo reemplazar valores en una hoja de cálculo completa?

Para reemplazar un valor específico en todo un Excel SpreadSheet con un valor actualizado, acceda al WorkSheet ws (igual que en los ejemplos anteriores) y aplique la función Replace:

// 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 reemplaza old value con new value en todo un Excel SpreadSheet. Se trata de una potente función para actualizaciones masivas que, de otro modo, requerirían operaciones manuales de buscar y reemplazar en Excel.

Recuerda guardar el archivo después de cualquier cambio, como se muestra en los ejemplos anteriores. Para obtener más información sobre cómo guardar y exportar archivos de Excel, consulta nuestra guía sobre conversión de tipos de archivos de hoja de cálculo.

¿Cómo reemplazar valores en una fila específica?

Para realizar cambios en una fila específica en lugar de en toda la hoja de cálculo, utilice 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 reemplaza old value con new value solo en la fila número 2. El resto del WorkSheet permanece sin cambios.

¿Cómo reemplazar valores en un rango de filas?

Reemplace los valores dentro de un rango específico como se indica a continuación:

// 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

Para reemplazar un valor antiguo con uno nuevo en el rango de B4 a E4 de la fila número 4, escriba:

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

¿Cómo reemplazar valores en una columna específica?

Reemplazar los valores de una columna específica manteniendo el resto de la hoja de cálculo sin cambios:

// 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 reemplaza old value con new value solo para la columna número 1.

¿Cómo reemplazar valores en un rango de columnas?

Use la función range 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 reemplaza old value con new value solo dentro del rango de B5 a B10 para la columna B.


¿Cómo eliminar una fila de una hoja de cálculo de Excel?

IronXL proporciona una función simple para eliminar una fila específica de un Excel SpreadSheet. Esta funcionalidad ayuda a la hora de limpiar datos o eliminar registros obsoletos de las hojas de cálculo. Vea 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");
Imports IronXL

Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

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

Antes Después
Hoja de trabajo de Excel con la fila 4 destacada mostrando datos del segmento Gobierno para Canadá antes de la operación de eliminación de filas Hoja de trabajo de Excel con la fila 4 destacada en azul mostrando el resultado después de la operación de eliminación de filas

¿Cómo eliminar una hoja de cálculo de un archivo Excel?

Para eliminar un WorkSheet completo de un archivo de Excel, use el siguiente método. Esto ayuda a la hora de consolidar datos o eliminar hojas de trabajo temporales utilizadas para los cálculos. Para obtener más información sobre la gestión de hojas de trabajo, consulte nuestra guía sobre gestión de hojas de trabajo.

// 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

WorkSheet WorkSheet es el WorkSheet, igual que en los ejemplos anteriores. Para eliminar una hoja de cálculo por su nombre

// 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 incluye muchas más funciones para realizar fácilmente cualquier tipo de edición y eliminación en Excel SpreadSheets. Explore funciones adicionales como crear gráficos de Excel, aplicar formato condicional o trabajar con fórmulas. Póngase en contacto con nuestro equipo de desarrollo si tiene alguna pregunta sobre el uso de IronXL en su 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 ¿Cómo eliminar una hoja de cálculo de un archivo Excel?

Preguntas Frecuentes

¿Cómo puedo editar archivos Excel en C# sin tener instalado Microsoft Office?

IronXL le permite editar archivos de Excel en C# sin necesidad de Microsoft Office o Excel Interop. Proporciona una biblioteca independiente que puede modificar celdas, filas, columnas y hojas de cálculo mediante programación, eliminando las dependencias de Office y funcionando en todas las plataformas, incluidas Linux y macOS.

¿Cuál es la forma más sencilla de actualizar el valor de una celda en un archivo Excel utilizando C#?

Con IronXL, puede actualizar el valor de una celda en sólo unas pocas líneas de código: IronXl.WorkBook.Load("archivo.xlsx").GetWorkSheet("Hoja1")["C3"].Value = "Hola IronXL"; seguido de guardar el libro de trabajo. Este enfoque no requiere Excel Interop y proporciona acceso directo a las celdas.

¿Puedo editar filas y columnas enteras en Excel mediante programación?

Sí, IronXL admite la edición de filas y columnas completas con valores estáticos o dinámicos. Puede modificar filas enteras con un solo valor, rellenar columnas mediante programación o actualizar filas con datos dinámicos de diversas fuentes, como bases de datos o cálculos.

¿Cómo elimino filas u hojas de cálculo de un archivo Excel en C#?

IronXL proporciona métodos sencillos para eliminar filas de hojas de cálculo y eliminar hojas de cálculo completas de archivos de Excel. Estas operaciones se realizan mediante programación sin necesidad de tener instalado Excel, lo que lo hace ideal para aplicaciones del lado del servidor.

¿Es posible encontrar y reemplazar valores en una hoja de cálculo Excel?

Sí, IronXL incluye funciones para buscar y reemplazar valores en hojas de cálculo. Puede encontrar mediante programación valores específicos y reemplazarlos con nuevos datos, de forma similar a la función nativa de búsqueda y reemplazo de Excel, pero automatizada mediante código C#.

¿Qué plataformas admite la biblioteca de edición de Excel en C#?

IronXL es compatible con múltiples plataformas, incluidas Windows, Linux y macOS, lo que lo hace versátil para el desarrollo multiplataforma. Esto le permite editar archivos Excel en aplicaciones C# independientemente del entorno de implementación.

¿Cómo puedo empezar a editar archivos Excel en C#?

Para empezar, descargue e instale IronXL a través del gestor de paquetes NuGet. La biblioteca es gratuita para uso de desarrollo. Una vez instalada, puede empezar inmediatamente a cargar archivos de Excel, modificar celdas y guardar cambios con un código sencillo e intuitivo.

¿Cuáles son las ventajas de la edición programática de Excel sobre los métodos manuales?

IronXL permite la edición programática de Excel, lo que reduce los errores humanos, automatiza las tareas repetitivas y permite realizar operaciones masivas que llevarían mucho tiempo de forma manual. También elimina la necesidad de Excel Interop, lo que reduce la complejidad y mejora el rendimiento.

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 2,052,917 | Versión: 2026.6 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronXL.Excel
ejecuta una muestra observa cómo tus datos se convierten en una hoja de cálculo.