Saltar al pie de página
USANDO IRONXL

Cómo escribir un archivo CSV en C#

Este artículo presentará cómo escribir archivos CSV usando una biblioteca de C# llamada IronXL en un nuevo proyecto.

Cómo escribir un archivo CSV

  1. Instale la biblioteca C# para escribir en un archivo CSV.

  2. Utilice WorkBook.Create para crear un nuevo libro de trabajo.

  3. Cree una nueva hoja de trabajo usando WorkBook.CreateWorkSheet.

  4. Agregue valores a celdas individuales usando workSheet["nombre de celda"].Value usando var.

  5. Guarde la hoja de cálculo como un archivo CSV usando el método SaveAs.

IronXL

IronXL surge como un faro de eficiencia para los desarrolladores de C# que buscan una solución poderosa y sin complicaciones para escribir datos en archivos CSV en comparación con el paquete NuGet CSVHelper. En el dinámico panorama del desarrollo de software, la capacidad de manejar y manipular datos es primordial, y IronXL da un paso al frente con su sólido conjunto de herramientas adaptadas para C#.

Este artículo profundiza en las funcionalidades y metodologías que hacen de IronXL la opción preferida para los desarrolladores de C# que buscan mejorar el proceso de escritura de datos en archivos CSV, logrando el equilibrio perfecto entre simplicidad y precisión.

Crear un nuevo proyecto de Visual Studio

Para comenzar a usar la biblioteca IronXL, el paso inicial consiste en crear un nuevo proyecto de Visual Studio C# o cargar uno existente. Aquí están las instrucciones para generar un nuevo proyecto en Visual Studio:

  1. Abra Visual Studio y navegue hasta el menú "Archivo". Se mostrará un menú desplegable. dentro de este menú, seleccione "Nuevo". Esta acción revelará otro menú lateral.

Cómo escribir un archivo CSV en C#, Figura 1: Menú Archivo File Menu

  1. En el menú lateral, localice y haga clic en "Proyecto". Esto abrirá una nueva ventana. Dentro de esta ventana, utilice la barra de búsqueda para encontrar "Aplicación de Consola". Elija la opción asociada con C# y continúe haciendo clic en el botón Siguiente.

Cómo escribir un archivo CSV en C#, Figura 2: Nuevo Proyecto - Aplicación de Consola Nuevo Proyecto - Aplicación de Consola

  1. A continuación, aparecerá una ventana de configuración. Ingrese el nombre del proyecto, especifique la ubicación del proyecto, y haga clic en el botón Siguiente.

Cómo escribir un archivo CSV en C#, Figura 3: Configurar Proyecto Configurar Proyecto

  1. La ventana final aparecerá. Aquí, elija el marco de trabajo objetivo e inicie el proceso de creación del proyecto haciendo clic en el botón Crear.

Cómo escribir un archivo CSV en C#, Figura 4: Marco de Trabajo Objetivo Marco de Trabajo Objetivo

Instalación de la biblioteca CSV IronXL

Ahora que ha configurado el proyecto, es hora de incorporar la biblioteca C# de IronXL. Siga estos pasos para instalar IronXL en su proyecto:

  1. En Visual Studio, navegue hasta el menú Herramientas. Surgirá un menú desplegable—seleccione el Administrador de Paquetes NuGet de este menú.
  2. Dentro del Administrador de Paquetes NuGet, elija Administrar Paquetes NuGet para Soluciones del menú lateral que se despliega.

Cómo escribir un archivo CSV en C#, Figura 5: Paquetes NuGet Paquetes NuGet

  1. Se abrirá una nueva ventana. Dirígete a la pestaña de navegadores dentro de esta ventana y, en la barra de búsqueda, escribe "IronXL". Verá una lista de paquetes de IronXL; opte por el más reciente y continúe haciendo clic en el botón Instalar.

Cómo escribir un archivo CSV en C#, Figura 6: IronXL IronXL

Escritura de archivos CSV con IronXL

Escriba datos en un archivo CSV usando la biblioteca CSV de C# IronXL. En esta sección, crearemos un nuevo archivo CSV y escribiremos datos en él. El siguiente ejemplo usa la biblioteca IronXL para crear un recibo simple en un archivo CSV. Desglosemos el código del programa paso a paso.

Importación de IronXL y System.Linq

using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
Imports IronXL
Imports System.Linq

' This is the main class where execution starts.
Public Class Program
	Shared Sub Main()
		' Main method where all logic is executed
	End Sub
End Class
$vbLabelText   $csharpLabel

Estas líneas importan las clases y funcionalidades necesarias de la biblioteca IronXL para trabajar con archivos Excel y los métodos de extensión LINQ del espacio de nombres System.Linq.

Creación de un WorkBook y WorkSheet

// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
' Create a new workbook. This serves as the container for all worksheets.
Dim workBook As WorkBook = WorkBook.Create()

' Create a new worksheet within the workbook named "Receipt".
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Receipt")
$vbLabelText   $csharpLabel

Este código crea un nuevo libro de trabajo de Excel (WorkBook) y una hoja de trabajo (WorkSheet) dentro de ese libro llamada "Recibo".

Agregar encabezados

// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
' Set the header row for columns. Headers added for better understanding of data.
workSheet("A1").Value = "Product"
workSheet("B1").Value = "Price"
$vbLabelText   $csharpLabel

Estas líneas establecen la fila de encabezado para las columnas en la primera fila de la hoja de trabajo, etiquetando cada columna.

Completar la información del artículo

// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
' Populate worksheet with product data and their respective prices.
workSheet("A2").Value = "Item 1"
workSheet("B2").DoubleValue = 20.10

workSheet("A3").Value = "Item 2"
workSheet("B3").DoubleValue = 15.50

workSheet("A4").Value = "Item 3"
workSheet("B4").DoubleValue = 10.25
$vbLabelText   $csharpLabel

Estas líneas agregan información sobre tres artículos, incluidos sus nombres y precios en la hoja de trabajo.

Cálculo del precio total

// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
' Define the range for price values to be summed.
Dim range = workSheet("B2:B4")

' Calculate the sum of prices.
Dim sum As Decimal = range.Sum()
$vbLabelText   $csharpLabel

Usando LINQ, este código calcula la suma de los precios de las celdas B2 a B4. La suma se almacena en la variable suma.

Visualización y actualización del total en la WorkSheet

// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
' Display the sum in the console.
System.Console.WriteLine(sum)

' Update the total price in the worksheet.
workSheet("B5").Value = sum
$vbLabelText   $csharpLabel

La suma se imprime en la consola y también se actualiza en la celda B5 de la hoja de trabajo.

Guardar el libro de trabajo como un archivo CSV

// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
' Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv")
$vbLabelText   $csharpLabel

Finalmente, todo el libro de trabajo se guarda como un archivo CSV llamado "recibo.csv".

En resumen, este código crea un recibo simple en una hoja de cálculo de Excel usando IronXL, calcula el precio total, lo imprime en la consola y luego guarda la salida del libro de trabajo como un archivo CSV. El recibo incluye columnas para "Producto" y "Precio", y calcula el precio total basado en los precios individuales de los artículos.

Cómo escribir un archivo CSV en C#, Figura 7: Salida del archivo CSV de recibo con encabezado Salida del archivo CSV de recibo con encabezado

Conclusión

Este artículo integral destaca la importancia de escribir archivos CSV en C# y elucida el proceso utilizando la biblioteca IronXL. Destaca la naturaleza fundamental de esta habilidad en diversas aplicaciones centradas en datos y muestra la destreza de IronXL en simplificar y optimizar tareas de manipulación de datos dentro del ecosistema de C#. El enfoque paso a paso, desde la configuración del proyecto hasta el uso de IronXL para crear un recibo y guardarlo como un archivo CSV, proporciona a los desarrolladores una comprensión práctica de la integración sin fisuras entre C#.

Ofreciendo versatilidad y eficiencia, IronXL emerge como una herramienta valiosa para los desarrolladores de C# que buscan mejorar su capacidad de programa para manejar y exportar datos en el formato CSV ubicuo, convirtiéndolo en un activo crucial para varios escenarios de desarrollo de software.

IronXL proporciona una solución para todas las tareas relacionadas con Excel que deben hacerse programáticamente, ya sea cálculo de fórmulas, ordenación de cadenas, recorte, búsqueda y reemplazo, unir y desunir, guardado de archivos, etc. También puede establecer formatos de datos de celda.

Para el tutorial completo sobre cómo escribir en un archivo CSV, visite este blog aquí. El ejemplo de código para crear un archivo CSV se puede encontrar en el siguiente blog.

IronXL ofrece una prueba gratuita, permitiéndole evaluar sus capacidades. Si lo encuentra útil para sus proyectos, puede comprar una licencia comenzando desde $799.

Preguntas Frecuentes

¿Cómo puedo escribir archivos CSV en C# sin usar Interop?

Puedes utilizar la biblioteca IronXL para escribir archivos CSV en C# sin necesidad de Interop. IronXL te permite crear libros de trabajo y hojas de trabajo, agregar datos y guardarlos directamente como archivos CSV usando sus métodos integrados.

¿Qué ventajas tiene IronXL sobre CSVHelper para escribir archivos CSV?

IronXL ofrece una gama más extensa de características más allá de solo escribir CSV, como cálculos de fórmulas, formato de celdas y exportación en varios formatos de Excel, proporcionando una solución más completa para los desarrolladores.

¿Cómo puedo comenzar a usar IronXL en un proyecto C#?

Para comenzar a usar IronXL, necesitas instalarlo a través del Administrador de Paquetes NuGet en Visual Studio. Crea un nuevo proyecto C#, navega a 'Herramientas', selecciona 'Administrador de Paquetes NuGet', busca 'IronXL' e instálalo.

¿Se puede usar IronXL para manipular archivos de Excel además de escribir CSVs?

Sí, IronXL es capaz de manejar una amplia gama de tareas relacionadas con Excel, como leer y escribir archivos de Excel, realizar cálculos de fórmulas y gestionar datos en múltiples hojas de trabajo.

¿Cómo puedo agregar datos a una hoja de trabajo en C# usando IronXL?

Para agregar datos a una hoja de trabajo usando IronXL, accede a celdas individuales usando sus identificadores y asigna valores usando la propiedad Value. Luego puedes guardar la hoja de trabajo en el formato deseado.

¿Cómo guardo un libro de trabajo como un archivo CSV usando IronXL?

Después de crear y llenar tu libro de trabajo y hoja de trabajo en IronXL, puedes guardarlo como un archivo CSV usando el método SaveAs, especificando la ruta y el formato del archivo.

¿Hay una versión de prueba de IronXL disponible para evaluación?

Sí, IronXL ofrece una versión de prueba gratuita, que permite a los desarrolladores explorar y evaluar sus características antes de comprometerse a una compra.

¿Cómo puedo calcular el total de números en una hoja de trabajo usando IronXL?

Puedes calcular el total de números en una hoja de trabajo con IronXL usando LINQ para sumar un rango definido de celdas, aprovechando la compatibilidad de la biblioteca con expresiones LINQ de C#.

¿Cuáles son algunos problemas comunes al escribir archivos CSV en C# usando IronXL?

Los problemas comunes pueden incluir rutas de archivo incorrectas o permisos, desajustes en el formato de los datos o campos de datos faltantes. Un manejo adecuado de errores y la validación pueden ayudar a mitigar estos problemas.

¿Puede IronXL manejar grandes conjuntos de datos de manera eficiente en proyectos C#?

Sí, IronXL está diseñado para manejar grandes conjuntos de datos de manera eficiente, permitiendo a los desarrolladores leer, escribir y manipular archivos Excel extensos sin un retraso significativo en el rendimiento.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más