Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JavaScript] Popolare una tabella tramite un file .CSV

    Ciao a tutti.

    Premetto che sono a zero a livello di programmazione in JavaScript.

    Programmo da diversi anni in Visual Basic e l'unico strumento che so usare per la programmazione Web è ASP.NET.

    Tuttavia, mi trovo attualmente in una complessa situazione in cui dovrei riuscire a popolare una tabella in una pagina HTML senza fare ricorso a programmazione lato server, dato che il server su cui la pagina dovrà essere pubblicata non supporta né il .NET Framework né qualsiasi altra piattaforma.

    In pratica, avrei bisogno di creare una tabella costituita da 3 colonne che attinge i dati da un file .CSV contenente tre campi.

    Mi chiedo se tramite Javascript è possibile interfacciarsi con una semplice fonte dati come un file .CSV soltanto per leggere i record (non mi serve poterli modificare o aggiungerne di nuovi). Cambiando, quindi, i dati nel file .CSV si dovrà visualizzare nuove informazioni nella stessa tabella della pagina HTML.

    E' gradito qualsiasi contributo.
    http://www.espositosoftware.it

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Con ajax (cerca) puoi leggere qualunque file residente sullo stesso server...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Che cos'è Ajax? Un software commerciale da installare a parte?
    http://www.espositosoftware.it

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ti faccio un esempio pratico... per provarlo personalizza la parte in rosso

    codice:
    <HTML>
    <HEAD>
    <TITLE> Prova lettura file .csv </TITLE>
    <META NAME="Author" CONTENT="br1 - 2006">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    
    var xmlHttpTesto="";
    function csv2table(fil) {
      var xmlHttpObj = null;
      var tabella = ""
      xmlHttpObj=createXMLHttp();
      xmlHttpObj.open('get',fil,false); 
      xmlHttpObj.onreadystatechange = function() {
        if (xmlHttpObj.readyState == 4) {
          if (xmlHttpObj.status==200 || xmlHttpObj.status==304) {
            xmlHttpTesto = xmlHttpObj.responseText;
            righe = xmlHttpTesto.split("\n");
            tabella += "<table border=1>";
            for (var i=0;i<righe.length;i++) {
              if (righe[i]) {
                tabella += "<tr>";
                colonne = righe[i].split(";");
                for (var j=0;j<colonne.length;j++) {
                  tabella += "<td>"+colonne[j]+"</td>";
                }
                tabella += "</tr>";
              }
            }
            tabella += "</table>";
          }
        }      
      }      
      xmlHttpObj.send(null); 
      delete xmlHttpObj;
      return tabella;
    }
    
    function createXMLHttp() {
      var xmlhttp ;
      try {
        xmlhttp = new XMLHttpRequest(); 
        // Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7
      } catch (e) {
        var MSXML_XMLHTTP_PROGIDS = new Array(
          'MSXML2.XMLHTTP.5.0',  
          'MSXML2.XMLHTTP.4.0',
          'MSXML2.XMLHTTP.3.0',
          'MSXML2.XMLHTTP',    // Internet Explorer 6
          'Microsoft.XMLHTTP'   // Internet Explorer 4,5
        );
        var success = false;
        for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length && !success; i++) {
          try {
            xmlhttp = new   ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
            success = true;
          } catch (e) {}
        }
        if ( !success ) {
          alert('Cant create XMLHttpRequest - not supported');
        }
      }
      return xmlhttp;
    }
    
    </script>
    
    </HEAD>
    
    <BODY>
    Tabella creata ed inserita tramite lettura di un file .csv
    <script>document.write(csv2table("prova.csv"));</script>
    </BODY>
    </HTML>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.