Estoy tratando de escribir una pequeña herramienta web que toma un archivo de Excel, analiza el contenido y luego compara los datos con otro conjunto de datos. ¿Se puede hacer esto fácilmente en JavaScript? ¿Hay una biblioteca de JavaScript que hace esto?Cómo analizar un archivo Excel en JavaScript?
Respuesta
¿Cómo cargarías un archivo en JavaScript en primer lugar?
Además, Excel es un formato patentado y lo suficientemente complejo como para que las bibliotecas del lado del servidor con años de desarrollo (como Apache POI) aún no hayan logrado correctamente el 100% de ingeniería inversa de estos formatos de Microsoft.
Así que creo que la respuesta es que no se puede.
Actualización: Eso es en JavaScript puro.
Actualización 2: Ahora es posible cargar archivos en JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader
hacer todo en js, que tendrá que utilizar ActiveX y probablemente los componentes de Office Web también. Solo una sugerencia, pero probablemente no quieras seguir esta ruta; será ineficiente e IE/Win solamente. Estará mejor con una solución basada en servidor.
¿Tiene realmente necesita un archivo de Excel? ¿Por qué no utilizar Excel para exportar los datos en CSV o XML y cargar eso?
El formato de archivo de Excel es muy específico para la implementación de Excel. Si solo necesita los datos, use un formato de archivo que solo contenga los datos.
El problema con esa solución es que requiere intervención manual. El excel tiene varias hojas de trabajo con muchos fomulas y no hay una forma automatizada fácil de convertir xls a csv, al menos de lo que yo sé. Actualice esto si conoce alguna herramienta que lo haga de una manera sencilla. – vivekian2
Deberá usar ActiveX (consulte las escuelas W3C sobre el uso de AJAX) y registrar el archivo en los conectores Dataconnectors (solo el equipo que aloja el archivo). A diferencia de lo mencionado anteriormente, este método no depende de la plataforma de Microsoft (para el cliente de todos modos) y no necesita tener instalados los componentes de Office.
Esto se puede hacer para la mayoría de los archivos de datos registrados en Windows, incluidos los MDB, y le permite todo el control que desee, ya que puede asignar diferentes cuentas de Windows para diferentes propósitos.
Como he dicho antes, todo esto está en el servidor y no tiene ningún impacto en el cliente, aparte de tal vez recuperar credenciales, acciones y todo eso.
Este método usa JavaScript, SQL (no, ni siquiera MSSQL, solo estándar de SQL) y solo requiere que la computadora de alojamiento ejecute CUALQUIER plataforma de Microsoft NT.
Lo que hacen los dataconnectors de Windows es proporcionar una interfaz generalizada para varios componentes de datos, al igual que DirectX para tarjetas de video y otros periféricos. También puede usarlo para vincular un MDB (Microsoft Access) a un servidor MySQL y alimentar datos en vivo de esa manera, lo que creo que es incluso más simple que usar hojas de cálculo XLS ... especialmente dado que puede importar XLS a MDB.
En los últimos cuatro años, ha habido muchos avances. HTML5 File API ha sido adoptado por los principales proveedores de navegadores y las mejoras de rendimiento realmente hacen que sea posible analizar los archivos de Excel (xls y xlsx) en el navegador.
que he presentado en este espacio:
Ambos son puras-JS analizadores
- 1. Cómo analizar un archivo tar en C++
- 2. Cómo analizar un archivo CSV en Bash?
- 3. ¿cómo puedo cargar y analizar un archivo de Excel en Rails?
- 4. cadena Analizar en javascript
- 5. Analizar un archivo JavaScript a través de PHP
- 6. Cómo analizar un archivo .plist con php?
- 7. cómo puedo analizar un archivo dtd
- 8. analizar un archivo XML en Qt
- 9. Javascript cómo analizar matrices JSON
- 10. Cómo analizar HTML desde JavaScript en Firefox?
- 11. Cómo analizar un archivo yaml desde un servicio en Symfony2
- 12. PHP - analizar un archivo txt
- 13. Cómo analizar una cadena en JavaScript?
- 14. objeto Analizar JSON en JavaScript
- 15. Cómo analizar este archivo OFX?
- 16. Cómo analizar el archivo XML en RapidXML
- 17. código JavaScript Analizar en C#
- 18. ¿Cómo descargar y analizar un archivo csv en Racket?
- 19. Cómo analizar y modificar un archivo HTML en Java
- 20. Cómo analizar un archivo de cabecera en C?
- 21. ¿Cómo detectar y analizar patrones similares como Excel?
- 22. ¿Cómo abrir un archivo de Excel en PHP?
- 23. ¿Cómo puedo abrir un archivo de Excel en Python?
- 24. Expresión regular de analizar un archivo binario?
- 25. incluir un archivo JavaScript en un archivo JavaScript
- 26. Descargar un archivo usando Javascript
- 27. archivo EXE Insertar en el archivo Excel
- 28. ¿Cuál es la mejor manera de analizar el archivo de Excel en Perl?
- 29. Ruby: no se puede analizar el archivo Excel exportado como CSV en OS X
- 30. Cómo descomprimir un archivo javascript?
JavaScript no puede leer un archivo en (a excepción de adiciones algo recientes que probablemente no estén disponibles en IE), pero puede ayudarlo con un servidor web que responda a una solicitud AJAX con el contenido del archivo. Administrar datos binarios arbitrarios tampoco es fácil en JS (Excepto en adiciones recientes, probablemente aún no compatibles con IE ...) – Frank
No estoy seguro de cuál era el estado del arte en el momento de esta publicación, pero ahora lo hacemos tener APIs como el objeto FileReader en Firefox, Opera y Chrome para cargar archivos en Javascript. La naturaleza patentada del formato sigue siendo un problema, aunque he visto bibliotecas para otros lenguajes capaces de analizar archivos básicos de Excel, pero no en Javascript. –
@wybiral http://niggler.github.io/js-xlsx/ y http://niggler.github.io/js-xls/ parecen ajustarse a la factura –