Ir al contenido principal

Crear Excel con C# sin librerias de Office - SpreadsheetLight

En este ejemplo se crea un archivo Excel(xlsx) con dos hojas.
La libreria hay que usar es SpreadsheetLight.
El codigo es de un proyecto de consola y logicamente le falta el:
using SpreadsheetLight;



class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Ingrese direccion");
            string direccion = Console.ReadLine();
            //string pathFile = AppDomain.CurrentDomain.BaseDirectory + "miExcel.xlsx";
            string pathFile = @"C:\Users\mauro_t5auj7r\Desktop\" + "miExcel.xlsx";

            SLDocument oSLDocument = new SLDocument();

            oSLDocument.AddWorksheet("Hojita 1");
            // Elimina la hoja que se crea por default
            oSLDocument.DeleteWorksheet("Sheet1");

            System.Data.DataTable dt = new System.Data.DataTable();

            //columnas
            dt.Columns.Add("Campo 1", typeof(string));
            dt.Columns.Add("Campo 2", typeof(int));
            dt.Columns.Add("Campo 3", typeof(string));
            dt.Columns.Add("Campo 4", typeof(DateTime));
            dt.Columns.Add("Campo 5", typeof(string));
            dt.Columns.Add("Campo 6", typeof(string));
            dt.Columns.Add("Campo 7", typeof(string));

            //registros , rows
            for (int i = 0; i < 1500; i++)
            {
                dt.Rows.Add("Dato " + i, i, "Dato " + i, DateTime.Now, "Dato1 " + i, "Dato1" + i, "Dato1" + i);
            }

            oSLDocument.ImportDataTable(1, 1, dt, true);

            oSLDocument.AddWorksheet("Hojita 2");
            
            oSLDocument.ImportDataTable(1, 1, dt, true);

            oSLDocument.SaveAs(pathFile);
        }

        
    }

La version de la libreria que use es:

En el caso que salga un error con DocumentFormat.OpenXml, yo descargue la 2.5.0 y se soluciono:



Fuente

Comentarios

Entradas populares de este blog

Instalar Gdebi en ubuntu 12.04

Gdebi es para poder instalar paquetes .deb en ubuntu.Para empezar hay que abrir un terminal o consola y ejecutar esta linea. sudo aptitude install gdebi En el caso de no tener instalado “aptitude” hay dos opciones, usar “apt-get” o instalar “aptitude”. Para instalar “aptitude”: sudo apt-get install aptitude o para instalar con apt-get: sudo apt-get install gdebi

Instalación de ElasticSearch 8 en Mac M1

Descargar version de java compatible para Mac M1 https://download.oracle.com/java/17/latest/jdk-17_macos-aarch64_bin.dmg   https://www.oracle.com/java/technologies/downloads/#jdk17-mac Instalar jdk Para saber la ruta donde quedo instalado java: which java Si sale "/usr/bin/java" pero no dice donde esta la ruta real, se puede usar la siguiente opcion: echo $(/usr/libexec/java_home) Viendo que eso trae la ruta, usar eso(sin el echo) dentro de la variable de entorno. Configurar variables de entorno: nano ~/.bash_profile Agregar al final de todo las siguientes lineas: export ES_HOME=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3 export ES_PATH_CONF=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3/config export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib Descargar la version para "Mac aarch64" https://www.el...

Relaciones en modelos de Django

Formas de relacion disponibles ForeignKey OneToOneField ManyToManyField id = models.ForeignKey(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.OneToOneField(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.ManyToManyField(NombreModelo) Ejemplo from django.db import models from django.utils.timezone import now class Proyecto(models.Model): idProyecto = models.AutoField(primary_key=True, null=False, blank=False) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.DateTimeField(auto_now=True) from django.db import models from apps.proyecto.models import Proyecto from django.utils.timezone import now class SubTarea(models.Model): idSubTarea = models.AutoField(primary_key=True) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.Dat...