我之前做过这样的事情。做一个AJAX调用来获取CSV(使用jQuery):
var x = $.ajax('schedule.csv').done(function(){parse(x);});
然后解析这样的数据:
function parse (data)
{
cells=[];
rowBreaks = [];
rowCounter=0;
var cellCounter=0;
var inQuotes = false;
y=data.responseText;
console.log(y.length);
for(n=0; n<y.length; n++)
{
if(n == 0 & y[n] != ",")
cells[cellCounter]=y[n];
if(n != 0 && y[n] != ',')
{
cells[cellCounter]+=y[n];
}
if(y[n] == '"')
inQuotes = !inQuotes;
if(n>0 && !inQuotes && y[n] == ",")
{
if(cells[cellCounter] == undefined)
cells[cellCounter] = " ";
else
cells[cellCounter]+=" ";
cellCounter++;
}
if(n>0 && !inQuotes && (y[n] == "\n" || y[n] == "\r"))
{
rowBreaks[rowCounter] = cellCounter;
rowCounter++;
}
if(cells[cellCounter] == undefined)
cells[cellCounter] = "";
}
fixRows();
writeTable();
$("body").css("overflow-x", "auto");
}
你不应该需要这一切,但它会解析一个CSV文件非常方便。如果有帮助,对writeTable()
功能是这样的:
function writeTable()
{
table=$("<table border='1' cellpadding='1' />");
var q;
var rowBlank;
var rowLength = rowBreaks[0]-8;
for(z=0; z<rowBreaks.length; z++)
{
tr = $("<tr />");
if(z == 0)
tr.addClass("header");
rowBlank = true;
for(i=0; i<rowLength; i++)
{
q=(z)*25+i;
td=$("<td />").html(cells[q]);
tr.append(td);
if(cells[q] != " " && cells[q] != "" && cells[q] != "\n" && cells[q] != "\r")
rowBlank = false;
}
/*if(!rowBlank)*/
table.append(tr);
}
table.css({
"border-spacing" : 0,
"width" : "100%",
"height" : "99%"
});
$("#schedule").html("");
$("#schedule").append(table);
sizeTable();
}
它的丑陋,但它为我工作。
请注意,这是所有真实的代码,因此您不需要我用于调试的console.log()
或保留任何变量名称。这是用来解析一个80 x 20 Excel表保存为excel文件,然后我得到该公司切换到Google文档,所以它在CSV文件的大小方面非常强大。
你真的在这里问什么,你可以提炼一下吗?就像“我如何加载CSV文件以便我可以使用JavaScript来检查它?”。就目前而言,你的问题范围非常广泛。 – Madbreaks 2013-04-25 21:52:12
我有一堆名称的地方,并与他们一起去的网站。我已经有超过10,000人,我必须通过视觉检查每一个是否正确。所以我正在尝试创建一个使页面更简单的javascript页面 – 2013-04-25 21:55:39
您能否通过一个名为“name,www.name.com”的行显示一个示例(以文本形式或使用jsfiddle.net)? – Grzegorz 2013-04-25 22:04:24