USO DE IRONXL

Generar archivos Excel en C#

Actualizado 20 de diciembre, 2023
Compartir:

Las aplicaciones que desarrollamos se comunican constantemente con hojas de cálculo Excel para obtener datos de evaluación y resultados. Es realmente útil poder generar archivos Excel en C# mediante programación, lo que nos ahorra tiempo y esfuerzo en nuestro desarrollo. En este tutorial, aprenderemos a generar archivos de Excel en diferentes formatos, a establecer estilos de celda y a insertar datos mediante una programación eficiente en C#.


Primer paso

1. Generar archivos Excel con IronXL

Genere Archivos Excel utilizando la Librería IronXL Excel para C#, que provee un rango de funciones para generar y manipular datos en su proyecto. La biblioteca es gratuita para el desarrollo, con licencias disponibles cuando usted está listo para empujar en vivo. Para seguir este tutorial, puededescargar IronXL para generar o acceder a él a través de Visual Studio yGalería NuGet.

Install-Package IronXL.Excel

Tutorial

2. C# Descripción general del generador de archivos de Excel

En el desarrollo de aplicaciones empresariales, a menudo necesitamos generar diferentes tipos de archivos Excel mediante programación. Para ello, necesitamos la forma más fácil y rápida de generar diferentes tipos de archivos y guardarlos en la ubicación requerida de forma automática.

Después de instalar IronXL, podemos utilizar las funciones paragenerar diferentes tipos de archivos Excel:

  • Archivo Excel con extensión .xlsx.
  • Archivo Excel con extensión .xls.
  • Valor separado por comas(.csv) archivos.
  • Valor separado por tabulaciones(.tsv) archivos.
  • Notación de objetos de JavaScript(.json) archivos.
  • Lenguaje de marcado extensible(.xml) archivos.

    Para generar cualquier tipo de archivo, en primer lugar necesitamos crear un archivo ExcelLibro de trabajo.

//generate New WorkBook
WorkBook wb = WorkBook.Create();
//generate New WorkBook
WorkBook wb = WorkBook.Create();
'generate New WorkBook
Dim wb As WorkBook = WorkBook.Create()
VB   C#

La línea de código anterior creará un nuevo WorkBook wb, y ahora crearemos unHoja de trabajo objeto.

//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
'Generate New WorkSheet
Dim ws As WorkSheet = WorkBook.CreateWorkSheet("SheetName")
VB   C#

Esto creará una WorkSheet ws que podremos utilizar para insertar datos en ficheros Excel.


3. Generar archivo XLSX C#

Primero, seguimos los pasos anteriores para generar el WorkBook y la WorkSheet.

Luego, insertamos datos en él para crear nuestro archivo de 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 mediante programación.

//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
'Insert data by cell addressing
WorkSheet ("CellAddress").Value = "MyValue"
VB   C#

Insertará un nuevo valor que llamamos "MiValor" en una dirección de celda específica. Del mismo modo, podemos insertar datos en tantas celdas como necesitemos. Después de esto, guardaremos el archivo Excel en la ruta especificada de la siguiente manera:

//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
'specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx")
VB   C#

Esto creará un nuevo archivo Excel con la extensión .xlsx en la ruta especificada. No olvide escribir la extensión .xlsx junto al nombre del archivo al guardarlo.

Para dar un paso más sobre cómocrear un WorkBook Excel en un proyecto C#Consulte los ejemplos de código aquí.

/**
Generate XLSX File
anchor-generate-xlsx-file-c-num
**/
using IronXL;
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
anchor-generate-xlsx-file-c-num
**/
using IronXL;
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
'''anchor-generate-xlsx-file-c-num
'''*
Imports IronXL
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
VB   C#

Puede ver la captura de pantalla del archivo Excel recién creado sample.xlsx aquí:

Generate Excel Files in C#, Figura 1: Resultado del valor modificado en la celda C4

El resultado del valor modificado en la celda C4


4. Generar archivo XLS C#

También es posible generar archivos .xls utilizando IonXL. Para ello, utilizaremosWorkBook.Create() de la siguiente manera:

WorkBook.Create(ExcelFileFormat.XLS)
WorkBook.Create(ExcelFileFormat.XLS)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WorkBook.Create(ExcelFileFormat.XLS)
VB   C#

Esto creará un nuevo archivo Excel con extensión .xls. Tenga en cuenta que al asignar un nombre a un archivo Excel, debe escribir la extensión .xls con el nombre del archivo, de la siguiente manera:

WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls")
VB   C#

Veamos ahora el ejemplo de cómo generar un fichero Excel con extensión .xls:

/**
Generate XLS File
anchor-generate-xls-file-c-num
**/
using IronXL;
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
anchor-generate-xls-file-c-num
**/
using IronXL;
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
'''anchor-generate-xls-file-c-num
'''*
Imports IronXL
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
VB   C#

5. Generar fichero CSV C#

Valor separado por comas(.csv) Los archivos también desempeñan un papel muy importante en la conservación de datos en distintos tipos de organizaciones. Por lo tanto, también tenemos que aprender a generar archivos .csv e insertar datos en ellos mediante programación.

Podemos utilizar el mismo proceso que arriba, pero necesitamos especificar la extensión .csv con el nombre del archivo mientras lo guardamos. Veamos un ejemplo de cómo crear ficheros .csv en nuestro proyecto C#:

/**
Generate CSV File
anchor-generate-csv-file-c-num
**/
using IronXL;
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
anchor-generate-csv-file-c-num
**/
using IronXL;
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
'''anchor-generate-csv-file-c-num
'''*
Imports IronXL
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
VB   C#

Para poder interactuar más con archivos CSV, puedes seguir este tutorial paraleer fichero `.csv.


6. Generar fichero TSV C#

A veces necesitamos generar valores separados por tabulaciones(.tsv) e insertar datos mediante programación.

Usando IronXL también podemos generar archivos de extensión .tsv, insertar datos en él, y luego guardarlo en la ubicación requerida.

Veamos el ejemplo de cómo generar un archivo de extensión .tsv:

/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
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.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
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.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate TSV File
'''anchor-generate-tsv-file-c-num
'''*
Imports IronXL
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.SaveAs("sample.tsv")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
VB   C#

7. Generar fichero JSON C#

Podemos afirmar sin temor a equivocarnos que la Notación de Objetos 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 ello, necesitamos el método más sencillo 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
anchor-generate-json-file-c-num
**/
using IronXL;
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
anchor-generate-json-file-c-num
**/
using IronXL;
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
'''anchor-generate-json-file-c-num
'''*
Imports IronXL
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
VB   C#

Y revise la captura de pantalla del archivo JSON recién creado sample.json :

Generar archivos Excel en C#, Figura 2: Navegación al gestor de paquetes NuGet en Visual Studio

Navegar al gestor de paquetes NuGet en Visual Studio


8. Generar fichero XML C#

En el desarrollo de aplicaciones empresariales, a menudo necesitamos guardar los datos en el lenguaje de marcado extensible(.xml) formato de archivo. 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 a generar archivos .xml para C# e insertar datos mediante programación.

/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
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 .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
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 .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XML File
'''anchor-generate-xml-file-c-num
'''*
Imports IronXL
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 .json
	wb.SaveAsXml("sample.xml")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
VB   C#

Más informaciónconversión de hojas de cálculo Excel y archivos mediante programación para su uso en proyectos C#.

La biblioteca IronXL también ofrece una amplia gama de funciones para interactuar con archivos de Excel, tales comoformato de datos de celda, fusión de celdas, insertar funciones matemáticase incluso la gestión de gráficos.


Acceso rápido a tutoriales

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 IronXL
Documentation related to Acceso rápido a tutoriales
< ANTERIOR
Crear un archivo CSV con C#
SIGUIENTE >
Trabajar con Excel en .NET Core

¿Listo para empezar? Versión: 2024.11 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,111,773 Ver licencias >