2016-10-27 1 views
-4

J'ai un fichier XLS avec des données dedans. Le fichier Excel a beaucoup de référence dans une colonne, donc je veux que l'utilisateur tape la référence puis la recherche de page Web pour la référence et montre les données dans la ligne trouvée.Afficher les données excel en html sans aucun serveur

Je ne peux pas utiliser un serveur, donc je veux le faire sans PHP ou des choses comme ça.

Est-ce possible? Comment puis je faire ça ?

Merci

+0

Enregistrez le fichier HTML et l'utilisateur peut utiliser Ctrl + F. .. –

+0

Non, je dois le montrer dans une page Web et les données ne sont pas toutes au même endroit, donc il doit être plus simple pour l'utilisateur. Je sais qu'il y a des choses comme PHPExcel mais il faut un serveur – Tib

+0

Vous pouvez utiliser javascript si vous savez comment écrire cela. –

Répondre

0

Vous n'avez pas besoin PHP, mais au moins Javascript.

Vous pouvez le faire comme ceci:

var excel = new ActiveXObject("Excel.Application"); 
var wb = excel.Workbooks.Open("Path/to/your/excel/file.xls"); 
var ws = wb.ActiveSheet; 
var cell = ws.Cells.Find("your search input"); 
alert(cell.Row); 
excel.Quit(); 

J'espère que je pourrais vous aider;)

+0

Je viens de l'essayer, ça marche sur IE mais mon problème est que j'utilise aussi sessionStorage pour éviter d'utiliser la base de données et IE n'est pas compatible avec ça j'utilise firefox pour accéder à l'application web et je peux trouver activ x plugin pour firefox. – Tib

+1

Prenez note: vous ne devez jamais offrir d'envoyer le code complet à quelqu'un. Si vous avez plus de code pertinent à la question, vous devriez l'afficher ici. La messagerie privée du code n'aide pas les futurs utilisateurs. – Lexi

0

Voici l'échantillon de js-xlsx, et renverra toutes les valeurs dans toutes les feuilles de calcul comme objet JSON , vous devrez peut-être modifier votre utilisation.

<html> 
<script src="xlsx.core.min.js"></script> 
<head></head> 
<body> 
</body> 
<script type ="text/javascript"> 

    "use strict"; 

    var X = XLSX; 

    function convertFile(b64data) { 
     var wb = X.read(b64data, {type: 'base64',WTF: false}); 

     var result = {}; 
     wb.SheetNames.forEach(function(sheetName) { 
      var roa = X.utils.sheet_to_row_object_array(wb.Sheets[sheetName]); 
      if(roa.length > 0){ 
       result[sheetName] = roa; 
      } 
     }); 

     return JSON.stringify(result, 2, 2); 
    } 
</script> 
</html> 

option Plus (par fichier de téléchargement, glisser l'option drop), vous pouvez étudier le code source d'exemple js-xlsx: http://oss.sheetjs.com/js-xlsx/