USO DE IRONXL

Generar archivos Excel en C#

Actualizado 6 de octubre, 2020
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, puede descargar IronXL para generar o acceder a él a través de Visual Studio y Galerí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 para generar 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 Excel Libro de trabajo.

//Generar un nuevo cuaderno de trabajo
WorkBook wb = WorkBook.Create();
//Generar un nuevo cuaderno de trabajo
WorkBook wb = WorkBook.Create();
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

//Generar nueva hoja de trabajo
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
//Generar nueva hoja de trabajo
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
IRON VB CONVERTER ERROR developers@ironsoftware.com
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.

//Insertar datos por direccionamiento de celda
WorkSheet ["CellAddress"].Value = "MyValue";
//Insertar datos por direccionamiento de celda
WorkSheet ["CellAddress"].Value = "MyValue";
'Insertar datos por direccionamiento de celda
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:

//especificar la ruta y el nombre del archivo
WorkBook.SaveAs("Path + FileName.xlsx");
//especificar la ruta y el nombre del archivo
WorkBook.SaveAs("Path + FileName.xlsx");
'especificar la ruta y el nombre del archivo
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ómo crear 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)
{
    //crear un nuevo WorkBook de extensión .xlsx
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //guardar el archivo como .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)
{
    //crear un nuevo WorkBook de extensión .xlsx
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook de extensión .xlsx
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
	'crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	ws ("C4").Value = "IronXL"
	'guardar el archivo como .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, utilizaremos LibroTrabajo.Crear() 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)
{
    //crear un nuevo WorkBook de extensión .xls 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
{
    //crear un nuevo WorkBook de extensión .xls 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook de extensión .xls 
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	'Crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'guardar el archivo como .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)
{
    //crear un nuevo WorkBook  
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
{
    //crear un nuevo WorkBook  
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'Crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'guardar el archivo como .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 para leer 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)
{ 
    //crear un nuevo WorkBook  
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
{ 
    //crear un nuevo WorkBook  
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'Crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'guardar el archivo como .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)
{
    //crear un nuevo WorkBook 
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de 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";
    //guardar el archivo como .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)
{
    //crear un nuevo WorkBook 
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de 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";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'Crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de 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"
	'guardar el archivo como .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)
{
    //crear un nuevo WorkBook 
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
{
    //crear un nuevo WorkBook 
    WorkBook wb = WorkBook.Create();
    //Crear hoja de trabajo
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insertar datos en las celdas de WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //guardar el archivo como .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)
	'crear un nuevo WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'Crear hoja de trabajo
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insertar datos en las celdas de WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'guardar el archivo como .json
	wb.SaveAsXml("sample.xml")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
VB   C#

Más información conversió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 como formato de datos de celda, fusión de celdas, insertar funciones matemáticas e 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
< ANTERIOR
Crear un archivo CSV con C#
SIGUIENTE >
Trabajar con Excel en .NET Core

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

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