Crear archivo de Excel en C#
Usando el lenguaje de programación C#, aprenderemos a generar una hoja de cálculo de Excel.
Crear archivo de Excel en C#
Antes de continuar, verifique si su dispositivo tiene el componente Microsoft Excel 16.0 Object Library
del .NET Framework
, lo que confirma una instalación exitosa. Si es así, puede continuar.
Usaremos Microsoft Visual Studio para este proyecto.
Agregar referencia
Para crear un archivo de Excel, debemos agregar la Biblioteca de objetos de Microsoft Excel 16.0
como referencia. Siga estos pasos a continuación si desea saber cómo hacerlo.
-
Inicie
Microsoft Visual Studio
y cree un nuevo proyecto C#. -
En el
Explorador de soluciones
, haga clic con el botón derecho en la opciónReferencias
y haga clic enAgregar referencia
en la barra de menú. -
Aparecerá una nueva ventana pequeña. Desde el panel izquierdo, seleccione
COM
y luego busqueMicrosoft Excel 16.0 Object Library
de la lista y haga clic en"OK"
.
Crear el archivo
El siguiente ejemplo demuestra cómo generar un archivo de Excel mediante el uso de interoperabilidad COM
.
-
Para comenzar, importe las siguientes bibliotecas.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
-
Inicialice el Objeto de la aplicación Excel antes de acceder a los servicios de
interoperabilidad
.using Microsoft.Office.Interop.Excel; using _excel = Microsoft.Office.Interop.Excel;
-
Cree una aplicación de Excel llamada
excelapp
, y luego inicialice el objeto deWorkbook
yWorksheet
, a los que nos referiremos comowb
yws
, respectivamente._Application excelapp = new _excel.Application(); Workbook wb; Worksheet ws;
-
Crea un método llamado
CreateFile()
. Cuando se ejecuta el método, producirá un nuevo documento de Excel al producir un nuevo libro de Excel que contiene solo una hoja de trabajo.public void CreateFile() { this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); this.ws = this.wb.Worksheets[1]; }
-
Del mismo modo, cree un método llamado
CreateSheet()
que agregará una hoja de trabajo en blanco al libro de trabajo actual que se ha abierto.public void CreateSheet() { Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws); }
-
Cree un método que guarde el libro de trabajo en una ruta proporcionada por el usuario.
public void SaveAs(string filepath) { wb.SaveAs(filepath); }
-
Dentro del método
Main()
, inicializaremos un objeto de la claseExcel
llamadoExcelfile
.Excel Excelfile = new Excel();
-
Comience un nuevo libro de trabajo con solo una hoja usando la función
Crear archivo ()
.Excelfile.CreateFile();
-
Agregue una nueva hoja al libro de trabajo usando la función
CreateSheet()
.Excelfile.CreateSheet();
-
Guarde el archivo en una ruta específica utilizando la función
SaveAs()
.Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx"); Excelfile.wb.Close();
Código fuente completo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using _excel = Microsoft.Office.Interop.Excel;
namespace CreateExcelcsharpZeeshan {
class Excel {
_Application excelapp = new _excel.Application();
Workbook wb;
Worksheet ws;
public void CreateFile() {
this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
this.ws = this.wb.Worksheets[1];
}
public void CreateSheet() {
Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws);
}
public void SaveAs(string filepath) {
wb.SaveAs(filepath);
}
public static void Main(string[] args) {
Excel Excelfile = new Excel();
Excelfile.CreateFile();
Excelfile.CreateSheet();
Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx");
Excelfile.wb.Close();
}
}
}
Producción:
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn