USO DE IRONXL

Cómo escribir datos en un archivo CSV en C#

Actualizado 20 de junio, 2023
Compartir:

Este artículo explorará cómo escribir un archivo CSV utilizando IronXL.

Biblioteca IronXL

IronXL es una biblioteca .NET Excel que ofrece una funcionalidad completa para crear, leer y editar archivos de hojas de cálculo en aplicaciones C#. Destaca por su rendimiento y precisión de salida. Es compatible con varios formatos de archivo de libros de cálculo, como XLS, XLSX, XLSM, CSV y TSV. Además, permite guardar o exportar datos de archivos Excel a formatos como CSV, JSON, HTML, Binary, Byte Array, DataSet o DataTable.

Con IronXL, los desarrolladores pueden trabajar sin problemas con hojas de cálculo y rangos de celdas, proporcionando un enfoque elegante para manipular datos. Permite edición sencilla de fórmulas y facilita el recálculo de fórmulas dentro de una hoja. Clasificación de datos en función del rango, la columna o la fila es sencillo. También puede modificar los diseños cristales de congelación, tamaño automático de filas/columnas y añadir/eliminar filas/columnas.

IronXL ofrece la posibilidad de proteger los archivos de Excel con contraseñas de usuario y establecer permisos de edición. Además, ofrece funciones para añadir, eliminar y extraer imágenes a partir de hojas de cálculo Excel. La biblioteca incluye una amplia gama de funciones de Excel, compatibles con diversos formatos de datos de celdas. Esto convierte a IronXL en una de las API más intuitivas para trabajar con archivos Excel.

Una ventaja notable de IronXL es que no requiere que Microsoft Excel o las dependencias de Office Interop estén instaladas en la máquina. Es una solución autónoma que funciona en múltiples plataformas y es compatible con las versiones 7, 6 y 5 de .NET. También es compatible con .NET Core 2 y 3, así como con la versión estándar 2. Para trabajar con hojas de cálculo Excel, IronXL es compatible con .NET Framework 4.5 y versiones posteriores.

Crear una aplicación de consola

Para empezar, se recomienda la última versión de Visual Studio para crear una aplicación. Visual Studio es el IDE oficial para el desarrollo en C#, y debe tenerlo instalado. Puede descargarlo en Sitio web de Microsoft Visual Studio si no está instalado.

Los siguientes pasos crearán un nuevo proyecto llamado "DemoApp".

  1. Abra Visual Studio y haga clic en "Crear un nuevo proyecto".

    Cómo escribir datos en un archivo CSV en C#, Figura 1: Abrir Visual Studio

     **Abrir Visual Studio**
  2. Seleccione Aplicación de consola y haga clic en "Siguiente".

    Cómo escribir datos en un archivo CSV en C#, Figura 2: Crear un nuevo proyecto en Visual Studio

     **Crea un nuevo proyecto en Visual Studio**.
  3. Establecer el nombre del proyecto

    Cómo escribir datos en un archivo CSV en C#, Figura 3: Configure su nuevo proyecto

     **Configura tu nuevo proyecto**
  4. Seleccione la versión .NET. Elija la versión estable .NET 6.0.

    Cómo escribir datos en un archivo CSV en C#, Figura 4: Selección de .NET Framework

     **Selección del marco .NET**

Instalar la biblioteca IronXL

Una vez creado el proyecto, es necesario instalar la biblioteca IronXL en el proyecto para poder utilizarla. Sigue estos pasos para instalarlo.

  1. Abra el Gestor de paquetes NuGet desde el Explorador de soluciones o desde las herramientas.

    Cómo escribir datos en un archivo CSV en C#, Figura 5: Navegar al gestor de paquetes NuGet

     **Navega al Gestor de paquetes NuGet**
  2. Busque la Biblioteca IronXL y seleccione el proyecto actual. Haz clic en instalar.

    Cómo escribir datos en un archivo CSV en C#, Figura 6: Buscar e instalar el paquete IronXL en la interfaz de NuGet Package Manager

     **Busca e instala el paquete IronXL en la interfaz de usuario del gestor de paquetes NuGet

    Añade el siguiente namespace en la parte superior del archivo Program.cs

using IronXL;
using IronXL;
Imports IronXL
VB   C#

Crear un Nuevo Libro de Trabajo en C#

IronXL provee la facilidad de crear un libro de trabajo vacío. Un libro de trabajo es una hoja de cálculo que contiene varias hojas de trabajo. Los datos se almacenan en celdas. CSV también se parece a una hoja de cálculo, pero con una extensión de archivo CSV.

//  Crea una nueva instancia de WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
//  Crea una nueva instancia de WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
'  Crea una nueva instancia de WorkBook SpreadSheet
Dim workBook As New WorkBook()
VB   C#

Ahora, vamos a crear una hoja en la carpeta Libro de trabajo. Hay varias formas de crear una hoja de cálculo en el libro de trabajo.

//  Añade la hoja1 al libro de trabajo
WorkSheet sheet = workBook.DefaultWorkSheet;

//  Crea una hoja de cálculo con el nombre Hoja1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
//  Añade la hoja1 al libro de trabajo
WorkSheet sheet = workBook.DefaultWorkSheet;

//  Crea una hoja de cálculo con el nombre Hoja1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
'  Añade la hoja1 al libro de trabajo
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

'  Crea una hoja de cálculo con el nombre Hoja1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
VB   C#

Si desea añadir más hojas al libro de trabajo existente, utilice la función Crear hoja de trabajo método.

Nota: Puede utilizar WorkBook.LoadCSV si el archivo CSV ya existe. Puede ver esto página de ejemplo de código para cargar un archivo CSV existente.

Escribir datos en la WorkSheet.

Escribir archivos CSV es fácil usando IronXL. Proporciona funciones de Excel para escribir datos en CSV. Se pueden utilizar referencias de celda para añadir los valores en las ubicaciones especificadas. Aquí, voy a añadir unos cuantos registros de algunos empleados usando un bucle foreach.

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee
VB   C#

En el ejemplo de código anterior, se crea una matriz de employeenames y se establece la primera fila con encabezados: ID, Nombre, Salario. También se inicializa una variable i con valor 2, que introducirá los registros de la 2ª fila por debajo de las cabeceras. El bucle foreach toma un empleado de la lista y se añade a la fila con los valores de ID y salario. Antes de que finalice el bucle, el valor de i debe incrementarse, de lo contrario cada registro se añadirá a la misma fila.

Guardar los datos en un archivo CSV

El último paso es guardar el archivo CSV. IronXL proporciona el método Guardar como CSV para guardar el libro de trabajo como un archivo CSV. El primer parámetro de este método es el nombre del archivo CSV y el segundo es el delimitador.

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
VB   C#

Va como sigue:

using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
Imports System
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee

workBook.SaveAsCsv("sample.csv", ",")
VB   C#

Salida

Cómo escribir datos en un archivo CSV en C#, Figura 7: El archivo CSV de salida

**El archivo CSV de salida

Resumen

Este artículo presenta un enfoque simple para escribir un archivo CSV utilizando IronXL en C#. IronXL también ofrece la posibilidad de trabajar con archivos CSV existentes sin ningún problema. También permite escribir archivos CSV, crear nuevos archivos Excel y escribir datos en ellos con una sintaxis sencilla. IronXL también puede utilizarse para leer y escribir archivos Excel sin tener instalado Microsoft Office. Para la conversión entre diferentes formatos de hoja de cálculo, puede ver esto página de ejemplo de código.

IronXL es gratuito para el desarrollo y puede adquirirse bajo licencia para uso comercial. También puedes probar IronXL gratis ensayo para uso comercial.

< ANTERIOR
Cómo ver Excel en ASP.NET
SIGUIENTE >
Cómo establecer el color de fondo en la celda de Excel usando C #

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123