Read CSV file with Javascript into a key value pair array

后端 未结 1 983
闹比i
闹比i 2020-11-30 11:53

There are plenty of examples of reading a CSV file using jQuery however javascript examples are few and far between.

As i am using an internal script editor for a p

相关标签:
1条回答
  • 2020-11-30 12:31

    As a start, here is a couple of ways to read a file with javascript

    HttpRequest: (from web server or absolute path)

    Source: Javascript - read local text file

    function readTextFile(file)
    {
        var rawFile = new XMLHttpRequest();
        rawFile.open("GET", file, true);
        rawFile.onreadystatechange = function ()
        {
            if(rawFile.readyState === 4)
            {
                if(rawFile.status === 200 || rawFile.status == 0)
                {
                    var allText = rawFile.responseText;
                    alert(allText);
                }
            }
        }
        rawFile.send(null);
    }
    

    And specify file:// in your filename when using an absolute path

    readTextFile("file:///C:/your/path/to/file.txt");
    

    FileReader API:

    Source:
    - http://codepen.io/matt-west/pen/KjEHg
    - http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-api

    HTML

    <div id="page-wrapper">
    
        <h1>Text File Reader</h1>
        <div>
            Select a text file: 
            <input type="file" id="fileInput">
        </div>
        <pre id="fileDisplayArea"><pre>
    
    </div>
    

    JS

    window.onload = function() {
        var fileInput = document.getElementById('fileInput');
        var fileDisplayArea = document.getElementById('fileDisplayArea');
    
        fileInput.addEventListener('change', function(e) {
            var file = fileInput.files[0];
            var textType = /text.*/;
    
            if (file.type.match(textType)) {
                var reader = new FileReader();
    
                reader.onload = function(e) {
                    fileDisplayArea.innerText = reader.result;
                }
    
                reader.readAsText(file);    
            } else {
                fileDisplayArea.innerText = "File not supported!"
            }
        });
    }
    

    JS on MS Windows (simple sample)

    Source: http://msdn.microsoft.com/en-us/library/czxefwt8(v=vs.84).aspx

    function ReadFiles()
    {
       var fso, f1, ts, s;
       var ForReading = 1;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
       s = ts.ReadLine();
       // s holds the text content
       ts.Close();
    }
    
    0 讨论(0)
提交回复
热议问题