Generar archivos de Excel en C#
Las aplicaciones que desarrollamos están constantemente comunicándose con hojas de cálculo de Excel para obtener datos para su evaluación y resultados. Es muy útil poder generar archivos de Excel en C# programáticamente, ahorrándonos tiempo y esfuerzo en nuestro desarrollo. En este tutorial, aprenderemos sobre la generación de archivos de Excel en diferentes formatos, estableciendo estilos de celdas e insertando datos utilizando programación eficiente en C#.
Generador de archivos de Excel en C#
- Generar archivos de Excel con IronXL
- Generar archivos Excel C# en .XLSX y .XLS
- Generar archivos CSV
- Genere archivos JSON, XML, TSV y más en proyectos de C#
Paso 1
1. Generar archivos de Excel con IronXL
Generar archivos Excel usando la Librería IronXL Excel para C#, proporcionando una gama de funciones para generar y manipular datos en tu proyecto. La biblioteca es gratuita para desarrollo, con licencias disponibles cuando estés listo para lanzar en vivo. Para seguir este tutorial, puedes descargar IronXL para generar o acceder a él a través de Visual Studio y NuGet gallery.
dotnet add package IronXL.Excel
Tutorial de cómo hacerlo
2. Descripción general del generador de archivos de Excel en C
En el desarrollo de aplicaciones empresariales, a menudo necesitamos generar diferentes tipos de archivos de Excel programáticamente. Para este propósito, necesitamos la forma más fácil y rápida de generar diferentes tipos de archivos y guardarlos automáticamente en la ubicación requerida.
Después de instalar IronXL, podemos usar las funciones para generar diferentes tipos de archivos Excel:
- Archivo Excel con la extensión
.xlsx. - Archivo Excel con la extensión
.xls. - Archivos de valores separados por comas (
.csv). - Archivos de valores separados por tabulaciones (
.tsv). - Archivos JavaScript Object Notation (
.json). - Archivos de lenguaje de marcado extensible (
.xml).
Para generar cualquier tipo de archivo, primero necesitamos crear un Excel WorkBook.
// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
' Generate a new WorkBook
Dim wb As WorkBook = WorkBook.Create()
La línea de código anterior creará un nuevo WorkBook denominado wb. Ahora crearemos un objeto WorkSheet.
// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
' Generate a new WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("SheetName")
Esto creará un WorkSheet denominado ws que podremos utilizar para insertar datos en archivos de Excel.
3. Generate XLSX File C
En primer lugar, seguimos los pasos anteriores para generar WorkBook y WorkSheet.
A continuación, insertamos datos en él para crear nuestro archivo de extensión .xlsx. Para ello, IronXL proporciona un sistema de direccionamiento de celdas que nos permite insertar datos en una dirección de celda específica mediante programación.
// Insert data by cell addressing
ws["CellAddress"].Value = "MyValue";
// Insert data by cell addressing
ws["CellAddress"].Value = "MyValue";
' Insert data by cell addressing
ws("CellAddress").Value = "MyValue"
Insertará un nuevo valor "MyValue" en una dirección de celda específica. De la misma manera, podemos insertar datos en tantas celdas como necesitemos. Después de esto, guardaremos el archivo de Excel en la ruta especificada de la siguiente manera:
// Specify file path and name
wb.SaveAs("Path + FileName.xlsx");
// Specify file path and name
wb.SaveAs("Path + FileName.xlsx");
' Specify file path and name
wb.SaveAs("Path + FileName.xlsx")
Esto creará un nuevo archivo de Excel con la extensión .xlsx en la ruta especificada. No olvides escribir la extensión .xlsx junto con el nombre del archivo al guardarlo.
Para dar un paso más en cómo crear un WorkBook de Excel en un proyecto C#, consulta los ejemplos de código aquí.
/**
* Generate XLSX File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook of .xlsx Extension
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Create workSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
ws["C4"].Value = "IronXL";
// Save the file as .xlsx
wb.SaveAs("sample.xlsx");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate XLSX File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook of .xlsx Extension
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Create workSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
ws["C4"].Value = "IronXL";
// Save the file as .xlsx
wb.SaveAs("sample.xlsx");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate XLSX File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook of .xlsx Extension
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create workSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "Hello"
ws("A2").Value = "World"
ws("C4").Value = "IronXL"
' Save the file as .xlsx
wb.SaveAs("sample.xlsx")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
Puede ver una captura de pantalla del archivo Excel recién creado sample.xlsx aquí:
El resultado del valor modificado en la celda C4
4. Generate XLS File C
También es posible generar archivos .xls utilizando IronXL. Para ello, utilizaremos la función WorkBook.Create() de la siguiente manera:
// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
' Create a workbook with XLS format
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Esto creará un nuevo archivo de Excel con la extensión .xls. Ten en cuenta que, al asignar un nombre a un archivo de Excel, debes escribir la extensión .xls junto con el nombre del archivo, de esta manera:
// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
' Save the file as .xls
wb.SaveAs("Path + FileName.xls")
Ahora, veamos un ejemplo de cómo generar un archivo Excel con la extensión .xls:
/**
* Generate XLS File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook of .xls Extension
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .xls
wb.SaveAs("sample.xls");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate XLS File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook of .xls Extension
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .xls
wb.SaveAs("sample.xls");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate XLS File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook of .xls Extension
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
' Create WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "Hello"
ws("A2").Value = "World"
' Save the file as .xls
wb.SaveAs("sample.xls")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
5. Generate CSV File C
Los archivos de valores separados por comas (.csv) también desempeñan un papel muy importante en el almacenamiento de datos en diferentes tipos de organizaciones. Por lo tanto, también necesitamos aprender a generar archivos .csv e insertar datos en ellos mediante programación.
Podemos utilizar el mismo proceso que el anterior, pero debemos especificar la extensión .csv junto con el nombre del archivo al guardarlo. Veamos un ejemplo de cómo crear archivos .csv en nuestro proyecto de C#:
/**
* Generate CSV File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .csv
wb.SaveAsCsv("sample.csv");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate CSV File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .csv
wb.SaveAsCsv("sample.csv");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate CSV File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook
Dim wb As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "Hello"
ws("A2").Value = "World"
' Save the file as .csv
wb.SaveAsCsv("sample.csv")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
Para poder interactuar más con archivos CSV, puedes seguir este tutorial para leer el archivo .csv.
6. Generate TSV File C
A veces necesitamos generar archivos de valores separados por tabulaciones (.tsv) e insertar datos mediante programación.
Con IronXL también podemos generar archivos de extensión .tsv, insertar datos en ellos y, a continuación, guardarlos en la ubicación requerida.
Veamos un ejemplo de cómo generar archivos con la extensión .tsv:
/**
* Generate TSV File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .tsv
wb.SaveAsTsv("sample.tsv");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate TSV File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .tsv
wb.SaveAsTsv("sample.tsv");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate TSV File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook
Dim wb As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "Hello"
ws("A2").Value = "World"
' Save the file as .tsv
wb.SaveAsTsv("sample.tsv")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
7. Generate JSON File C
Podemos afirmar con seguridad que los archivos JavaScript Object Notation (.json) son los archivos de datos más comunes y se utilizan en casi todas las empresas de desarrollo de software. Por lo tanto, a menudo necesitamos guardar los datos en formato JSON. Para esto, necesitamos el método más simple para generar archivos en formato JSON e insertar los datos en ellos.
En tales condiciones, IronXL es la mejor opción mediante la cual podemos generar fácilmente estos archivos para C#. Veamos el ejemplo.
/**
* Generate JSON File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "1";
ws["A2"].Value = "john";
ws["B1"].Value = "2";
ws["B2"].Value = "alex";
ws["C1"].Value = "3";
ws["C2"].Value = "stokes";
// Save the file as .json
wb.SaveAsJson("sample.json");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate JSON File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "1";
ws["A2"].Value = "john";
ws["B1"].Value = "2";
ws["B2"].Value = "alex";
ws["C1"].Value = "3";
ws["C2"].Value = "stokes";
// Save the file as .json
wb.SaveAsJson("sample.json");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate JSON File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook
Dim wb As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "1"
ws("A2").Value = "john"
ws("B1").Value = "2"
ws("B2").Value = "alex"
ws("C1").Value = "3"
ws("C2").Value = "stokes"
' Save the file as .json
wb.SaveAsJson("sample.json")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
Y revisa la captura de pantalla del archivo JSON recién creado sample.json :
Navegando al Administrador de Paquetes NuGet en Visual Studio
8. Generate XML File C
En el desarrollo de aplicaciones empresariales, a menudo necesitamos guardar los datos en el formato de archivo Extensible Markup Language (.xml). Esto es importante porque los datos del archivo .xml son legibles tanto para personas como para máquinas.
A través de los siguientes ejemplos, aprenderemos a generar archivos .xml para C# e insertar datos mediante programación.
/**
* Generate XML File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .xml
wb.SaveAsXml("sample.xml");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
/**
* Generate XML File
*/
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create new WorkBook
WorkBook wb = WorkBook.Create();
// Create WorkSheet
WorkSheet ws = wb.CreateWorkSheet("Sheet1");
// Insert data in the cells of WorkSheet
ws["A1"].Value = "Hello";
ws["A2"].Value = "World";
// Save the file as .xml
wb.SaveAsXml("sample.xml");
Console.WriteLine("Successfully created.");
Console.ReadKey();
}
}
'''
''' * Generate XML File
'''
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create new WorkBook
Dim wb As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data in the cells of WorkSheet
ws("A1").Value = "Hello"
ws("A2").Value = "World"
' Save the file as .xml
wb.SaveAsXml("sample.xml")
Console.WriteLine("Successfully created.")
Console.ReadKey()
End Sub
End Class
Puedes leer más sobre convertir hojas de cálculo de Excel y archivos programáticamente para su uso en proyectos C#.
La biblioteca IronXL también ofrece una amplia gama de características para interactuar con archivos Excel, tales como formateo de datos de celda, fusión de celdas, inserción de funciones matemáticas, e incluso gestión de gráficos.
Tutorial de acceso rápido
Documentación del generador IronXL
Lea la documentación completa sobre cómo IronXL genera archivos en todos los formatos de Excel necesarios para su proyecto C#.
Documentación del generador IronXLPreguntas Frecuentes
¿Cómo puedo generar un archivo de Excel en C#?
Puedes generar un archivo de Excel en C# usando IronXL. Comienza creando un WorkBook y Hoja de Trabajo, inserta tus datos usando el Sistema de Direccionamiento de Celdas y guarda el archivo con el formato deseado usando los métodos de IronXL.
¿Cuáles son los pasos para manipular archivos de Excel programáticamente en C#?
Para manipular archivos de Excel programáticamente en C#, instala IronXL mediante el gestor de paquetes NuGet, crea un WorkBook y Hoja de Trabajo, usa el código C# para insertar y manipular datos, y guarda los cambios en el formato de archivo que prefieras.
¿Cómo puedo guardar un archivo de Excel como JSON usando C#?
Usando IronXL, puedes guardar un archivo de Excel como JSON creando un WorkBook y Hoja de Trabajo, agregando los datos necesarios y empleando el método SaveAsJson para exportar el archivo en formato JSON.
¿Puedo convertir un archivo de Excel a CSV usando C#?
Sí, IronXL te permite convertir un archivo de Excel a CSV en C#. Necesitas cargar el archivo de Excel en un WorkBook, procesarlo según sea necesario y usar el método SaveAsCsv para exportarlo.
¿A qué formatos puedo exportar datos de Excel usando C#?
Usando IronXL, puedes exportar datos de Excel a varios formatos como XLSX, CSV, TSV, JSON y XML. Esta versatilidad es beneficiosa para diferentes necesidades de manejo de datos en proyectos de C#.
¿Cómo instalo IronXL para operaciones de Excel en C#?
Para instalar IronXL para operaciones de Excel en C#, usa el gestor de paquetes NuGet en Visual Studio con el comando dotnet add package IronXL.Excel.
¿Es adecuado IronXL para aplicaciones empresariales que involucran archivos de Excel?
IronXL es altamente adecuado para aplicaciones empresariales ya que simplifica el proceso de generar y manipular archivos de Excel programáticamente, haciéndolo eficiente para automatizar tareas de procesamiento de datos.
¿Puedo usar IronXL gratis durante el desarrollo?
IronXL es gratis para usar con fines de desarrollo. Sin embargo, se requiere una licencia cuando estés listo para desplegar o usar la biblioteca en un entorno de producción.
¿Cómo puedo estilizar celdas al generar archivos de Excel en C#?
Al usar IronXL, puedes estilizar celdas en archivos de Excel generados configurando propiedades como tamaño de fuente, color y estilos a través de los métodos proporcionados en la biblioteca.
¿Puedo generar archivos XML a partir de datos de Excel en C#?
Sí, puedes generar archivos XML a partir de datos de Excel usando IronXL. Después de preparar tus datos en un WorkBook y Hoja de Trabajo, usa el método SaveAsXml para exportar los datos en formato XML.



