我之前做過這樣的事情。做一個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