Comment lire un fichier excel contenu sur côté client?
À partir de la page JSP, j'ai besoin de parcourir un fichier excel et après la sélection de fichiers sur le système, j'ai besoin de lire que le fichier excel contenu et remplir mon formulaire.
Actuellement, j'ai essayé avec le code ci-dessous mais sa ne travaillent que dans IE, avec quelques modifications dans les options internet de IE ActiveXObject. Sa ne fonctionne pas dans les autres navigateurs.
<script>
function mytest2() {
var Excel;
Excel = new ActiveXObject("Excel.Application");
Excel.Visible = false;
form1.my_textarea2.value = Excel.Workbooks.Open("C:/Documents and Settings/isadmin/Desktop/test.xlsx").ActiveSheet.Cells(1,1).Value;
Excel.Quit();
}
</script>
S'il vous plaît suggérer une solution pour qu'il fonctionne dans tous les navigateurs.
Vous devez vous connecter pour publier un commentaire.
Il n'est généralement pas possible de lire/écrire des fichiers via JavaScript dans un navigateur. Sans aucun plugins supplémentaires, vous ne serez pas en mesure de lire/écrire des fichiers Excel à partir du navigateur. Les objets ActiveX de microsoft Excel pour vous permettre de faire cela, mais seulement IE prend en charge les objets ActiveX.
Il y a peut être d'autres plugins pour les autres navigateurs, mais je suis au courant de rien.
En premier lieu, pourquoi voulez-vous faire? Pouvez-vous donner un cas d'utilisation? Peut-être il ya de meilleures options disponibles de ce que vous essayez.
Mise à JOUR
Vous aurez à passer le fichier excel sur le serveur et de faire la lecture de la excel dans le côté serveur (dans un servlet par exemple).
Vous devrez utiliser un
<input type='file'>
dans la JSP dans un formulaire multipart<form name="myForm" action="myServlet" enctype="multipart/form-data" method="post">
Sur le côté serveur, vous pouvez utiliser Apache Commons Téléchargement De Fichier.
Une fois que vous avez le fichier (ou un cours d'eau sur elle), vous pouvez analyser le fichier d'aide, par exemple, Apache POI HSSF/XSSF et ensuite mettre à jour les données d'une base de données ou de passer à une JSP
Un xlsx feuille de calcul est un fichier zip avec un tas de fichiers xml en elle. 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é:
Vous pouvez charger et ouvrir le fichier côté client dans la plupart des navigateurs modernes à l'aide de la HTML5 Fichier API
Une fois que vous avez chargé le fichier, vous pouvez analyser le contenu d'une bibliothèque qui prend en charge certaines excel formats de sortie (tels que csv /xlsx).
Ici sont un couple d'options...
Je le fais tout le temps mes prototypes ont été conçus pour laisser les parties prenantes modifier un fichier excel et avez de remplir le prototype html, souvent sans serveur.
(1) voici un bouton à portée de main macro que j'ai mis dans mes fichiers excel, permettant indolore de la sauvegarde en XML (et ré-enregistrer aux formats xls):
(2) L'analyse JS est plus compliqué, mais le principe est simple. Il y aura des objets XML comme Feuille de calcul, un Tableau, une Ligne, une Cellule, et de Données. Il y a aussi un attribut XML appelé ss:Indice je trouve pratique parfois.
Celui-ci fonctionne dans tous les principaux navigateurs.
https://catamphetamine.github.io/read-excel-file/
Dans l'exemple ci-dessus
data
est brute des données de chaîne.Il peut être analysé en JSON avec un strict schéma en passant
schema
argument. Voir les docs de l'API pour un exemple.API docs:
http://npmjs.com/package/read-excel-file