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 de Excel con extensión
.xlsx. - Archivo de Excel con extensión
.xls. - Archivos de Valor Separado por Comas (
.csv). - Archivos de Valor Separado por Tab (
.tsv). - Archivos de Notación de Objeto JavaScript (
.json). - Archivos de Lenguaje de Marcado Extensible (
.xml).
Para generar cualquier tipo de archivo, primero necesitamos crear un WorkBook de Excel.
// Generate a new WorkBook
WorkBook wb = WorkBook.Create();// Generate a new WorkBook
WorkBook wb = WorkBook.Create();La línea de código anterior creará un nuevo WorkBook llamado wb. Ahora crearemos un objeto WorkSheet.
// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");Esto creará un WorkSheet llamado ws que podemos usar para insertar datos en archivos de Excel.
3. Generar archivo XLSX en C
Primero, seguimos los pasos anteriores para generar el WorkBook y el WorkSheet.
Luego, insertamos datos en él para crear nuestro archivo con extensión .xlsx. Para este propósito, IronXL proporciona un Sistema de Direccionamiento de Celdas que nos permite insertar datos en una dirección de celda específica programáticamente.
// 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");Esto creará un nuevo archivo de Excel con la extensión .xlsx en la ruta especificada. No olvides escribir la extensión .xlsx con el nombre del archivo al guardar.
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();
}
}Puedes ver una captura de pantalla del nuevo archivo Excel creado sample.xlsx aquí:
El resultado del valor modificado en la celda C4
4. Generar archivo XLS C
También es posible generar archivos .xls utilizando IronXL. Para este propósito, 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);Esto creará un nuevo archivo de Excel con una extensión .xls. Ten en cuenta que al asignar un nombre a un archivo de Excel, debes escribir la extensión .xls 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");Ahora, veamos el ejemplo de cómo generar un archivo de Excel con una 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();
}
}5. Generar archivo CSV C
Los archivos de Valor Separado por Comas (.csv) también juegan un papel muy importante en el mantenimiento de datos en diferentes tipos de organizaciones. Entonces, también necesitamos aprender cómo generar archivos .csv e insertar datos en ellos programáticamente.
Podemos usar el mismo proceso anterior, pero necesitamos especificar la extensión .csv con el nombre del archivo al guardar. Veamos un ejemplo de cómo crear archivos .csv en nuestro proyecto 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();
}
}Para poder interactuar más con archivos CSV, puedes seguir este tutorial para leer archivos .csv.
6. Generar archivo TSV C
A veces necesitamos generar archivos de Valor Separado por Tab (.tsv) e insertar datos programáticamente.
Usando IronXL también podemos generar archivos con extensión .tsv, insertar datos en ellos y luego guardarlos en la ubicación requerida.
Veamos el ejemplo de cómo generar archivos con 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();
}
}7. Generar archivo JSON C
Podemos decir cómodamente que los archivos de Notación de Objeto JavaScript (.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();
}
}Y revisa la captura de pantalla del nuevo archivo JSON creado sample.json :
Navegando al Administrador de Paquetes NuGet en Visual Studio
8. Generar archivo XML C
En el desarrollo de aplicaciones empresariales, a menudo necesitamos guardar los datos en el formato de archivo del Lenguaje de Marcado Extensible (.xml). Esto es importante porque los datos del archivo .xml son legibles tanto por humanos como por máquinas.
A través de los siguientes ejemplos, aprenderemos cómo generar archivos .xml para C# e insertar datos programáticamente.
/**
* 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();
}
}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.







