如何在Javascript中读取CSV文件

时间:2016-10-31 12:33:45

标签: javascript html csv

我需要我的代码才能从csv文件中获取数据并将其打印到屏幕上。目前它从txt文件中获取数据很好,但CSV只会返回“不支持的文件”。这是我的代码。

<html>
<div id="page-wrapper">

        <div>
            Select a text file: 
            <input type="file" id="fileInput">
        </div>
        <pre id="fileDisplayArea"><pre>

    </div>
    <button onClick="test()">Show Text</button>
<script>
function test (){
    var file = fileInput.files[0];
var textType = /text.*/;
    if (file.type.match(textType)) {
  var reader = new FileReader();

  reader.onload = function(e) {
    var look = reader.result;
    window.alert (look);
  }

  reader.readAsText(file);  
} else {
  fileDisplayArea.innerText = "File not supported!";
}
}


</script>

1 个答案:

答案 0 :(得分:2)

type对象的file属性是操作系统提供的类型,具体取决于文件的扩展名。

在Windows上,filetypecsv个文件为application/vnd.ms-excel,因此当您检查时:

file.type.match(/text.*/)

这是假的。

您可以使用更改代码来检查text.*application/vnd.ms-excel中的任何一个:

var textType = /text.*/;
var csvType = 'application/vnd.ms-excel';
if (file.type.match(textType) || file.type == csvType) {

另一种选择是检查文件的扩展名:

if (file.name.endsWith('.csv')) {
    ...
}