9
votes

Comment lire un contenu de fichier Excel sur le côté du client?

à partir de la page JSP, j'ai besoin de parcourir le fichier Excel et après avoir sélectionné le fichier sur le système, j'ai besoin de lire le contenu du fichier Excel et remplir mon formulaire.

Actuellement, j'ai essayé avec le code ci-dessous, mais il ne fonctionne que dans IE avec quelques modifications des options Internet IE pour ActiveXObject. Cela ne fonctionne pas dans le reste des navigateurs. xxx

veuillez suggérer une solution afin qu'elle fonctionne dans tous les navigateurs.


0 commentaires

5 Réponses :


1
votes

Il n'est généralement pas possible de lire / écrire un fichier via JavaScript dans un navigateur. Donc, sans aucun plug-ins supplémentaire, vous ne pourrez pas lire / écrire des fichiers Excel du navigateur. Les objets ActiveX d'Excel vous permettent de le faire, mais seulement IE prend en charge les objets ActiveX.

Il peut y avoir d'autres plugins pour les autres navigateurs, mais je ne suis au courant aucun.

En premier lieu, pourquoi voulez-vous faire cela? Pouvez-vous donner un cas d'utilisation? Peut-être qu'il y a de meilleures options disponibles que ce que vous essayez.

mise à jour

Vous devrez transmettre le fichier Excel sur le serveur et effectuer la lecture de l'Excel sur le côté serveur (dans un servlet par exemple).

Vous devrez utiliser un dans le JSP dans un formulaire multipart

du côté du serveur, vous pouvez utiliser Apache Commons Fichier Télécharger .

Une fois que vous avez le fichier (ou un flux de l'utilisateur), vous pouvez analyser le fichier en utilisant, disons, Apache POI HSSF / XSSF puis mettez à jour les données dans une base de données ou transmettez-la à un JSP


3 commentaires

Exigences du projet - L'utilisateur doit sélectionner le fichier Excel sur son système à partir de la page JSP, puis automatiquement tous les champs de formulaire doivent être renseignés. S'il vous plaît suggérer comment puis-je faire cela?


"Il n'est généralement pas possible de lire / écrire un fichier via JavaScript dans un navigateur." Donc, c'est possible, mais un pluggin est votre meilleur pari? Mais vous pouvez faire tout ce que vous aimez et ne vous êtes pas coincé avec l'utilisation du service pour faire le bon travail? Bien que XLSX.JS y accomplit avec terrible DX, cela peut être fait avec beaucoup de recherches. J'ai vu de nombreux exemples de fonctionnement.


Examlez complètement fait dans le navigateur, et c'est un éclair rapide. Je considère cependant de réécrire leur code d'exemple. C'est assez mauvais là-bas. Oss.sheetjs.com/js-xlsx



1
votes

Je fais tout cela tout le temps - Mes prototypes sont conçus pour laisser les parties prenantes modifier une excellence et faire renseigner le prototype HTML, souvent sans serveur.

  1. sauvegarder l'Excel comme xml li>
  2. Chargez le XML via AJAX et analysez la structure li> ol>

    ( 1 em>) Voici un bouton pratique Macro I Macro I Mise dans mes fichiers Excel, permettant d'économiser sans douleur comme xml (et réaffûtez sous forme de XLS): P>

        Sub SaveAndExportXML()
          Dim fname As String
          Dim fnamexml As String
          fname = ThisWorkbook.FullName
          fnamexml = Replace(fname, ".xls", ".xml", 1, 1, vbTextCompare)
    
          If MsgBox("Will save the following (runtime XML and source XLS) files: " & vbNewLine & "XML: " & fnamexml & vbNewLine & "Src: " & fname & vbNewLine & vbNewLine & "Ok?  If so, please click Yes here and on the next 3 prompts...", vbYesNo) = vbNo Then Exit Sub
          ActiveWorkbook.SaveAs Filename:=fnamexml, FileFormat:=xlXMLSpreadsheet, ReadOnlyRecommended:=False, CreateBackup:=False
          're-save as xls:
          ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
        End Sub
    


0 commentaires

11
votes

Un tableur XLSX est un fichier zip avec un tas de fichiers XML. En utilisant quelque chose comme zip.js , vous pouvez extraire les fichiers XML et les analyser dans le navigateur. xlsx.js fait cela. Voici mon exemple simple . Copié ici pour plus de commodité: xxx


0 commentaires

2
votes

Vous pouvez charger et ouvrir le côté du client de fichier dans les navigateurs les plus modernes à l'aide du API de fichier HTML5

Une fois que vous avez chargé le fichier, vous pouvez analyser le contenu avec une bibliothèque prenant en charge certains formats de sortie Excel (tels que CSV / XLSX).

Voici quelques options ...


0 commentaires

1
votes

Celui-ci fonctionne dans tous les grands navigateurs.

https: //catamphétamine.github .io / lecture-excel-file / xxx xxx

dans l'exemple ci-dessus DATA est cru données de chaîne. Il peut être analysé à JSON avec un schéma strict en passant à un argument schéma . Voir Documents API pour un exemple de cela.

API Docs: http://npmjs.com/package/read-excel-file


0 commentaires