Buenas, mi problematica es que quiero generar un archivo excel desde un DataTable en C#; actualmente realizo una consulta en la base de datos que me devuelve al rededor de 4 millones de tuplas he logrado hacer que la respuesta de dicha consulta se reduzca a 2 minutos aproximadamente; ahora no quiero que toda esa optimización se vea afectada al momento de generar un archivo de Excel con la información consultada ¿Existe algún tipo de "Bulk" para escribir los datos en un archivo? ya que actualmente las opciones que he encontrado es recorrer el DataTable y realizar la escritura del archivo row por row y toda la optimización realizada se pierde.
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
1 Respuesta
¿Quieres generar un archivo de Excel con 4 millones de registros? A priori sin conocer más detalles no parece el mejor formato para soportar tanta información, ten en cuenta que Excel en sus últimas versiones admite algo más de 1 millón de filas por cada hoja.
Sobre rendimiento y tiempos de escritura en ficheros Excel te recomiendo este artículo que he encontrado: http://www.clear-lines.com/blog/post/Write-data-to-an-Excel-worksheet-with-C-fast.aspx
Lo suyo es que hagas pruebas de rendimiento escribiendo en forma de array cada tupla, pero según ese artículo te vas a mover en tiempos de entre 0,005 a 3 milisegundos por celda, lo que te deja un arco de entre 1 minuto y 7 horas xD
Lo malo es que por tu tipo de datos con pocas columnas (entiendo que 2 columnas si hablamos de tuplas) parece no vas a beneficiarte de la escritura en array.
Otra opción es que te plantees las necesidades y lo exportes a un fichero CSV, que posteriormente puede convertirse a Excel fácilmente.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 407098
- 1
- Jul 5, 2015
Sin Respuesta
-
- 158
- 0
- Mar 19
-
- 75
- 1
- Feb 26
-
- 188
- 0
- Ene 30
-
- 1030
- 0
- Nov 7, 2023
-
- 290
- 0
- Sep 19, 2023
-
- 301
- 0
- Ago 21, 2023
-
- 382
- 0
- May 14, 2023
-
- 353
- 0
- Abr 21, 2023
- ver todas
Actividad Reciente
Santiago2610 comentó Mar 23
Acualizar ChoiceField en djangoSantiago2610 preguntó Mar 19
Acualizar ChoiceField en djangogonzalss preguntó Feb 26
Script /boot/ scrapingParkJo preguntó Ene 30
No me deja instalar Oracleelporfirio respondió Ene 10
Actualizar la imagen con los datos devuelto en un …ovedg preguntó Dic 31, 2023
Actualizar la imagen con los datos devuelto en un …Ehdez preguntó Nov 7, 2023
Necesito en wordpress un pluging que me calcule la…pedrourday preguntó Sep 19, 2023
Alternativas a ThreeJS y BabylonJS?pedrourday preguntó Ago 21, 2023
¿Que tecnologias y lenguajes me recomiendan?Fabio respondió Jul 11, 2023
plugin de efecto circular 3d en imagenes
Ultimas Preguntas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150460 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos