Exportar DataTable a Excel en C#
Este tutorial le enseñará cómo exportar una tabla de datos a un archivo de Excel en el lenguaje de programación C#. Es necesario agregar una referencia para crear un archivo de Excel y exportarlo antes de continuar con este proyecto.
Agregar paquete de referencia en Visual Studio
Se incluirá el paquete ExcelMapper
para realizar diversas funciones de Excel. Para ello, siga las instrucciones que se describen a continuación.
- Abra
Visual Studio,
, cree unaAplicación de consola
y asígnele un nombre. - Haga clic derecho en el panel
Explorador de soluciones
y seleccioneAdministrar paquetes NuGet
. - Ahora haga clic en la opción
Examinar
, busque ExcelMapper e instálelo.
Entendámoslo con un ejemplo de código.
Exportar DataTable
a Excel usando C#
Para comenzar, importe las siguientes bibliotecas.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Spire.Xls;
Ahora, genera una nueva instancia del objeto Workbook
y guárdalo con el nombre Workbook
.
Workbook workBook = new Workbook();
workBook.Worksheets.Clear();
Incluya una nueva instancia de la clase Hoja de trabajo
y llámela hoja de trabajo
.
Worksheet workSheet = workBook.Worksheets.Add("DataTableToExcel");
Cree un nuevo objeto de tipo DataTable
con el nombre de variable DataTable
.
DataTable dataTable = new DataTable();
Cree nuevas columnas etiquetadas como “Número de lista, Nombre del estudiante” y “Sección”.
dataTable.Columns.Add("Roll Number", typeof(String));
dataTable.Columns.Add("Student Name", typeof(String));
dataTable.Columns.Add("Section", typeof(String));
Ahora debemos instanciar un nuevo objeto de la clase DataRow
y nombrarlo dtr.
.
DataRow dtr = dataTable.NewRow();
A continuación, ingresaremos los datos en la columna denominada DataRow.
.
dtr[0] = "BC210120319";
dtr[1] = "Iftikhar Aslam";
dtr[2] = "BS (CS)";
dataTable.Rows.Add(dtr);
dtr = dataTable.NewRow();
dtr[0] = "BC210203291";
dtr[1] = "Saad Aslam";
dtr[2] = "BS (IT)";
dataTable.Rows.Add(dtr);
dtr = dataTable.NewRow();
En la hoja de cálculo que acabamos de hacer, debe insertar la columna denominada Tabla de datos
.
workSheet.InsertDataTable(dataTable, true, 1, 1, true);
En este punto, debe darle un nombre al documento antes de guardarlo como un archivo de Excel.
workBook.SaveToFile(@"E:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
Código fuente completo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Spire.Xls;
namespace ExportDataTableToExcelBySaad {
class Program {
static void Main(string[] args) {
Workbook workBook = new Workbook();
workBook.Worksheets.Clear();
Worksheet workSheet = workBook.Worksheets.Add("DataTableToExcel");
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Roll Number", typeof(String));
dataTable.Columns.Add("Student Name", typeof(String));
dataTable.Columns.Add("Section", typeof(String));
DataRow dtr = dataTable.NewRow();
dtr[0] = "BC210120319";
dtr[1] = "Iftikhar Aslam";
dtr[2] = "BS (CS)";
dataTable.Rows.Add(dtr);
dtr = dataTable.NewRow();
dtr[0] = "BC210203291";
dtr[1] = "Saad Aslam";
dtr[2] = "BS (IT)";
dataTable.Rows.Add(dtr);
dtr = dataTable.NewRow();
workSheet.InsertDataTable(dataTable, true, 1, 1, true);
workBook.SaveToFile(@"E:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
}
}
}
Producción:
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn