Crear un archivo XLSX en C#
Con tanta automatización en los negocios, frecuentemente necesitamos trabajar con Hojas de Cálculo Excel en aplicaciones .NET, incluyendo la creación de hojas de cálculo y la inserción de datos mediante programación. En el siguiente tutorial, aprenderemos a crear la hoja de cálculo Excel en diferentes formatos (.xls
, .xlsx
, .csv
y .tsv
.), establecer estilos de celda e insertar datos mediante programación en C#.
Cómo crear un archivo XLXL en C#
Instale la biblioteca de Excel para crear archivos XLSX.
Utilice el objeto
Workbook
para crear un archivo Excel.Elija una
Hoja de trabajo
por defecto.Añade datos a la
Hoja de trabajo
por defecto.- Guarde el archivo Excel en el disco.
Primer paso
1. Descargar IronXL DLL
IronXL proporciona el enfoque más sencillo para crear Excel (.xlsx
) en proyectos C#. Descargar la DLL o Instalación NuGet y utilizarlo gratuitamente para el desarrollo.
Install-Package IronXL.Excel
Tutorial
2. Crear un libro de trabajo
Con este programa, podemos insertar datos y también establecer las propiedades de las celdas, como los estilos de fuente o los bordes.
2.1 Crear archivo .XLSX
Cree un Libro de Trabajo utilizando este código para crear un nuevo archivo Excel, que, por defecto, tiene la extensión .xlsx
.
/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
'''
'''Create XLSX File
'''anchor-create-a-workbook
'''*
Dim wb As WorkBook = WorkBook.Create()
2.2 Crear archivo .XLS
Si desea crear un archivo de extensión .xls
, utilice:
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
3. Crear hoja de trabajo Excel
Después de crear un Libro de Trabajo en el formato de archivo de su elección, cree una Hoja de Trabajo Excel. Este código creará una nueva Hoja de Trabajo ws1
con el nombre sheet1
en el WorkBook wb
.
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
3.1 Crear varias hojas de trabajo
Se pueden crear varias hojas de trabajo del mismo modo:
/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
'''
'''Create WorkSheets
'''anchor-create-an-excel-worksheet
'''*
Dim ws2 As WorkSheet = wb.CreateWorkSheet("sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("sheet3")
4. Insertar datos en hojas de trabajo
Ahora podemos insertar datos fácilmente en las celdas de la Hoja de Trabajo.
worksheet ["CellAddress"].Value = "MyValue";
worksheet ["CellAddress"].Value = "MyValue";
worksheet ("CellAddress").Value = "MyValue"
4.1 Insertar datos en una hoja de trabajo específica
Por ejemplo, los datos de la hoja de cálculo ws1
pueden insertarse específicamente. El siguiente código escribirá Hola Mundo
en la celda A1
de la Hoja de Trabajo ws1
.
/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
'''
'''Insert WorkSheet Data
'''anchor-insert-data-into-worksheets
'''*
ws1 ("A1").Value = "Hello World"
4.2 Insertar Datos en Varias Celdas
También es posible escribir datos en muchas celdas utilizando la función rango. El siguiente código escribirá NuevoValor
de la celda A3
a A8
en la Hoja de Trabajo ws1
.
ws1 ["A3:A8"].Value = "NewValue";
ws1 ["A3:A8"].Value = "NewValue";
ws1 ("A3:A8").Value = "NewValue"
5. Realizar un proyecto de muestra
Crearemos un nuevo fichero Excel Muestra.xlsx
e insertaremos datos en él.
/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Create();
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
ws1 ["A1"].Value = "Hello";
ws1 ["A2"].Value = "World";
ws1 ["B1:B8"].Value = "RangeValue";
wb.SaveAs("Sample.xlsx");
}
/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Create();
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
ws1 ["A1"].Value = "Hello";
ws1 ["A2"].Value = "World";
ws1 ["B1:B8"].Value = "RangeValue";
wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Project
'''anchor-make-a-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Create()
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
ws1 ("A1").Value = "Hello"
ws1 ("A2").Value = "World"
ws1 ("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
Nota: Por defecto, el nuevo fichero Excel se creará en la carpeta bin>Debug
del proyecto. Si queremos crear un nuevo archivo en una ruta personalizada, utilice:
wb.SaveAs(@"E:\IronXL\Muestra.xlsx");
He aquí una captura de pantalla de nuestro archivo Excel recién creado sample.xlsx
:
Queda claro lo simple que es crear archivos Excel usando IronXL en su Aplicación C#.
6. Establecer ExcelMetadata para archivos Excel
IronXL también proporciona la función de establecer metadatos para archivos Excel.
/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
'''
'''Set Metadata
'''anchor-set-metadata-for-excel-files
'''*
Dim wb As WorkBook = WorkBook.Create()
wb.Metadata.Author = "AuthorName"
wb.Metadata.Title="TitleValue"
7. Establecer estilo de celda
Es muy fácil establecer el estilo de celda de Excel WorkSheet en su aplicación C#. IronXL proporciona todas las propiedades de estilización celular necesarias.
7.1. Establecer estilo de fuente
El estilo de fuente puede ajustarse como sigue:
/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
'''
'''Set Font Style
'''anchor-set-font-style
'''*
WorkSheet ("CellAddress").Style.Font.Bold =True
WorkSheet ("CellAddress").Style.Font.Italic =True
7.2. Añadir Strikeout
La tachadura a cualquier valor de celda se puede hacer de la siguiente manera:
/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
'''
'''Add Strikeout
'''anchor-add-strikeout
'''*
WorkSheet ("CellAddress").Style.Font.Strikeout = True
7.3. Establecer estilo de borde
La estilización de los bordes puede realizarse utilizando el siguiente código:
/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
'''
'''Set Border Style
'''anchor-set-border-style
'''*
WorkSheet ("CellAddress").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
8. Aplicar estilización de celdas Proyecto de ejemplo
Veamos cómo establecer múltiples estilos de celda y juntarlo todo utilizando el proyecto de ejemplo que se muestra a continuación.
/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Create();
WorkSheet ws = wb.CreateWorkSheet("sheet1");
ws ["A1"].Value = "MyVal";
ws ["B2"].Value = "Hello World";
ws ["A1"].Style.Font.Strikeout = true;
ws ["B2"].Style.Font.Bold =true;
ws ["B2"].Style.Font.Italic =true;
ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;
ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
ws ["C3"].Style.TopBorder.SetColor("#ff6600");
wb.SaveAs("Sample.xlsx");
}
/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Create();
WorkSheet ws = wb.CreateWorkSheet("sheet1");
ws ["A1"].Value = "MyVal";
ws ["B2"].Value = "Hello World";
ws ["A1"].Style.Font.Strikeout = true;
ws ["B2"].Style.Font.Bold =true;
ws ["B2"].Style.Font.Italic =true;
ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;
ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
ws ["C3"].Style.TopBorder.SetColor("#ff6600");
wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Cell Styling Set
'''anchor-apply-cell-styling-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Create()
Dim ws As WorkSheet = wb.CreateWorkSheet("sheet1")
ws ("A1").Value = "MyVal"
ws ("B2").Value = "Hello World"
ws ("A1").Style.Font.Strikeout = True
ws ("B2").Style.Font.Bold =True
ws ("B2").Style.Font.Italic =True
ws ("C3").Style.TopBorder.Type = IronXL.Styles.BorderType.Double
ws ("C3").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
ws ("C3").Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick
ws ("C3").Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot
ws ("C3").Style.BottomBorder.SetColor("#ff6600")
ws ("C3").Style.TopBorder.SetColor("#ff6600")
wb.SaveAs("Sample.xlsx")
End Sub
Y aquí está una captura de pantalla de nuestro archivo Excel recién creado sample.xlsx
.
9. Próximos pasos y tutorial de Excel
Si desea profundizar más y leer una guía paso a paso para la creación de Excel .NET, consulte la página Crear archivos Excel usando C# tutorial.
Acceso rápido a tutoriales
Sumérjase en la referencia de la API
Lea la Documentación de IronXL, con explicaciones de todos los espacios de nombres, conjuntos de características, clases, métodos, campos y enums de IronXL.
Ver la referencia de la API