Pregunta

Estoy intentando 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?

¿Fue útil?

Solución

¿Cómo cargaría un archivo en JavaScript en primer lugar?

Además, Excel es un formato propietario y lo suficientemente complejo como para bibliotecas del lado del servidor con años de desarrollo (como Apache POI ) aún no han logrado realizar correctamente el 100% de ingeniería inversa en estos formatos de Microsoft.

Entonces creo que la respuesta es que no puedes.

Actualización: Eso está en JavaScript puro.

Actualización 2: ahora es posible cargar archivos en JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Otros consejos

En los últimos cuatro años, ha habido muchos avances. La API de archivos HTML5 ha sido adoptada por los principales proveedores de navegadores y las mejoras de rendimiento en realidad hacen que sea posible analizar archivos de Excel (tanto xls como xlsx) en el navegador.

Mis entradas en este espacio:

Ambos son analizadores de puro JS

Para hacer todo en js, deberá usar ActiveX y probablemente también los componentes web de Office. Solo una sugerencia, pero probablemente no quieras seguir esta ruta; será ineficiente y solo IE / Win. Estará mejor con una solución basada en servidor.

Tendrá que usar ActiveX (vea W3C Schools sobre el uso de AJAX) y registrar el archivo en los servidores de conexión de datos de las computadoras anfitrionas (solo la computadora 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 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 tanto control como desee, ya que puede asignar diferentes cuentas de Windows para diferentes propósitos.

Como dije antes, todo esto es del lado del servidor y no tiene impacto en el cliente, aparte de quizás recuperar credenciales, acciones y todo eso.

Este método utiliza JavaScript, SQL (no, ni siquiera MSSQL, solo el estándar SQL) y solo requiere que la computadora host ejecute CUALQUIER plataforma Microsoft NT.

Lo que hacen los conectadores de datos de Windows es proporcionar una interfaz generalizada para varios componentes de datos, al igual que DirectX hace 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 aún más simple que usar hojas de cálculo XLS ... especialmente porque puede importar XLS en MDB.

¿Realmente necesita un archivo de Excel? ¿Por qué no usar 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top