Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript CSV读取行和列并存储在变量中_Javascript_Html - Fatal编程技术网

JavaScript CSV读取行和列并存储在变量中

JavaScript CSV读取行和列并存储在变量中,javascript,html,Javascript,Html,我有一个非常简单的要求,但无法弄清楚如何做到这一点。 下面的Javascript代码读取一个CSV文件并创建一个HTML表。My CSV中包含以下数据: Type, Item, Value, Dec, Figure SUM,ThisItem,ThisValue,2,4 SUM,ThisItem1,ThisValue1,4,5 RCT,ThisItem1,ThisValue1,6,7 如何在下面的代码中插入代码或行,以帮助我在变量中存储“Type”列值,“Item”列值,等等。例如,若Type=

我有一个非常简单的要求,但无法弄清楚如何做到这一点。 下面的Javascript代码读取一个CSV文件并创建一个HTML表。My CSV中包含以下数据:

Type, Item, Value, Dec, Figure
SUM,ThisItem,ThisValue,2,4
SUM,ThisItem1,ThisValue1,4,5
RCT,ThisItem1,ThisValue1,6,7
如何在下面的代码中插入代码或行,以帮助我在变量中存储“Type”列值,“Item”列值,等等。例如,若Type==“SUM”,则采取一些操作(例如,向表发送数据或完成行)。我试了好几次,添加了一些逻辑,但都没有用

function Upload() {
const columns = [0,1,2,3,4] // represents allowed column 1 and 3 in index form

var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
    if (typeof (FileReader) != "undefined") {
        var reader = new FileReader();
        reader.onload = function (e) {
            var table = document.createElement("table");
            var rows = e.target.result.split("\n");
            for (var i = 0; i < rows.length; i++) { var cells = rows[i].split(","); if (cells.length > 1) {
                    var row = table.insertRow(-1);
                    for (var j = 0; j < cells.length; j++) {
                        // ignore columns that are not allowed
                        if (!columns.includes(j)) {
                          continue
                        }

                        var cell = row.insertCell(-1);
                        cell.innerHTML = cells[j];
                    }
                }
            }
            var dvCSV = document.getElementById("dvCSV");
            dvCSV.innerHTML = "";
            dvCSV.appendChild(table);
        }
        reader.readAsText(fileUpload.files[0]);
    } else {
        alert("This browser does not support HTML5.");
    }
} else {
    alert("Please upload a valid CSV file.");
}
函数上传(){
const columns=[0,1,2,3,4]//表示索引形式中允许的列1和3
var fileUpload=document.getElementById(“fileUpload”);
var regex=/^([a-zA-Z0-9\s\\\.\-:])+(.csv|.txt)$/;
if(regex.test(fileUpload.value.toLowerCase()){
if(typeof(FileReader)!=“未定义”){
var reader=new FileReader();
reader.onload=函数(e){
var table=document.createElement(“表”);
var rows=e.target.result.split(“\n”);
对于(var i=0;i1){
var行=table.insertRow(-1);
对于(var j=0;j

}

单元格[j]
是CSV文件中的文本内容,在每次迭代中使用条件来检查您要查找的值是否匹配,如果匹配,则定义变量并完成行。

单元格[j]
文本数据是否来自CSV文件?示例:
类型、项目、值、数字
?是的,数字。Thank.var rc=单元格[j];如果(rc==“SUMMARY”){var cell=row.insertCell(-1);cell.innerHTML=cells[j];alert(rc);}那么您已经解决了,是吗?是的,谢谢您的帮助。有简单的解决办法吗?例如,单元格[j]给出了所有值。我想将“Type”值存储在一个单独的变量中,然后将“Item”值存储在一个单独的变量中。例如,如果“Type”==“SUMMARY”,则CSV中的完整行应转到一个表中,如果“Type==“THIS”,则完整行应转到另一个表中。