这使用了我在 GPLv3 许可下编写和发布的库:html5csv
下面的示例将 CSV 文件上传到浏览器中,该文件可作为数组数组使用。
该库支持各种块操作,例如制作表格、编辑、绘图、拟合、调用函数、保存在浏览器会话存储或本地存储中。
JSFIDDLE
html
Choose a CSV file to load into the application:
<input id='foo' type='file'>
<hr />
js(需要 jQuery 和 html5csv.js)
CSV.begin('#foo').
table('output', {header:1, caption:'Uploaded CSV Data'}).
go();
这里,go() 可以采用函数 callback
(e,D),其中 e 将包含错误字符串或 null,而 D 是一个对象,可能包含 D.rows[0][0],...,D.rows[n-1][m-1] 的 n x m 数据矩阵。第 0 行可能是标题行。
使用了异步性,实际上是在某些地方强制执行的。因此请注意,与 AJAX 一样,此代码将立即返回到下一行,最好将其解读为设置工作流,了解上一步准备就绪时要执行的操作。
保存/恢复
您可以在工作流中的某处使用.save('local/someKey'). 将数据保存到用户的浏览器 localStorage 对象中,此时存在于数组中的数据将存储在 HTML5 本地存储中(如果您包含文档中的 LZString 库,甚至可能会被压缩) ),直到浏览器用户删除它。
然后在同一页面或同一网站上的另一个页面中,您可以使用CSV.begin('local/someKey')... 取回数据
使用数据
您应该将要使用数据的任何代码放入一个函数中,该函数可以满足 html5csv 的 call 或 go 预期的回调,如 html5csv 网站上所述。