2011-11-03 17 views

Respuesta

4

Con algo como esto, si sus necesidades son relativamente simples, he descubierto que es más sencillo encontrar/escribir un ejecutable de línea de comandos que solo saca una csv del archivo xls. Luego invocas ese ejecutable desde haskell y continúas con su salida desde allí.

+1

Acepto una tarea pequeña con una sola hoja. Pero a veces tengo datos compartidos entre varias hojas. Mi solución actual es escribir un excel vbscript. Pero me gustaría ahora usar solo un exe haskell en lugar de usar varias aplicaciones. –

+0

Lo que estoy sugiriendo es un ejecutable de propósito único que simplemente voltea una hoja dada de un archivo de Excel dado (ambos especificados en la línea del cmd). Luego puede envolverlo en una sola llamada de haskell que, dado un archivo Excel y una hoja, devuelve todos los datos analizados. Por lo tanto, es como usar la automatización de comas, excepto que se realiza la indirección de un ejecutable adicional. La única ventaja es cuánto más simple es hacer esto. La única desventaja es que ahora necesita dos ejecutables en lugar de uno (pero solo necesita ejecutar el ejecutable directamente). – sclv

+0

Gracias. Con su sugerencia, encontré una línea de cmd como [http://www.softinterface.com/Convert-XLS/Features/Convert-XLS-To-CSV.htm] para tratar y eso me está dando otras rutas para explorar. Pero mi pregunta es más sobre la comprensión del paquete COM. el ejemplo proporcionado en [http://haskell.forkio.com/com-examples] no es suficiente para usarlo con Excel o Word. Entonces, si alguien tiene un fragmento de Excel para compartir que podría ser interesante explorar. –

2

Ahora también hay xlsx en Hackage (para el formato xlsx Office Open XML), aunque no he Aún así lo intenté yo mismo.

Cuestiones relacionadas