Tengo algunos datos tabulares que me gustaría convertir en una tabla de Excel.¿Cuál es la forma más fácil de crear una tabla de Excel con C#?
Software disponible:
- .NET 4 (C#)
- Excel 2010 (utilizando la API de Excel está bien)
- que prefieren no utilizar ninguna bibliotecas 3 ª parte
Información sobre la información:
- Un par de millones de ro ws
- 5 columnas, todas las cadenas (muy simples y estructura de la tabla periódica)
- En mi guión que estoy actualmente utilizan una estructura de datos de lista anidada pero puedo cambiar eso
- Rendimiento del guión no es crítica
Buscar en línea da muchos resultados, y estoy confundido si debo usar OleDb, ADO RecordSets, o algo más. Algunas de estas tecnologías parecen excesivas para mi escenario, y algunas parecen que podrían estar obsoletas.
¿Cuál es la forma más simple de hacer esto?
Editar: esta es una secuencia de comandos de una sola vez que tengo la intención de ejecutar desde mi escritorio asistido.
La manera más fácil consiste en una biblioteca de tercera parte decente :-) Busque "automatización de Excel". Debería haber algunos artículos de KB en MSDN y tal. Tenga en cuenta que el uso de las interoperaciones COM de Excel es * significativamente más lento * que la mayoría de las herramientas de terceros y espera ejecutarse en un entorno que no sea de servicio, etc. También puede haber problemas al tratar con "un par de millones de filas" (nunca intentado en cualquier lugar cerca de estos límites!), incluso excluyendo la sobrecarga adicional de recursos/tiempo - no critico no excluye "algún día hoy" :) –
Además, para ese * simple * volcado, considere CSV -> Excel (manualmente o mediante automatización) en lugar de agregar todo las filas una a la vez (¡un par de millones es un par de millones!). Otra opción es descargar directamente a XSLX (XML, simplemente tomar "una plantilla") a través de un escritor de transmisión, etc. Por supuesto, estos pasos simplemente no están presentes en una biblioteca de terceros. –
¿Cuál es su enfoque para ajustar "un par de millones de filas" en las 1.048.576 filas que veo en mi hoja de trabajo de Excel 2010? Estoy de acuerdo con Tyler en gastar el dinero en una biblioteca de terceros como Aspose.Cells para .NET (Developer Enterprise Subscription $ 899). – tawman