【发布时间】:2013-01-07 14:09:32
【问题描述】:
我有一个要求,用户将在本地选择一个 CSV 文件,我必须读取文件内容并将它们转储到 JQGrid 上。是的,浏览器是 IE :)..我应该怎么做才能做到这一点?
【问题讨论】:
-
您无法在客户端读取文件,因此您需要将其上传到服务器而不是根据需要进行解析。
标签: c# jquery asp.net ajax jqgrid-asp.net
我有一个要求,用户将在本地选择一个 CSV 文件,我必须读取文件内容并将它们转储到 JQGrid 上。是的,浏览器是 IE :)..我应该怎么做才能做到这一点?
【问题讨论】:
标签: c# jquery asp.net ajax jqgrid-asp.net
实际上,您可以使用所有新的 HTML5 功能来做到这一点,所以如果您要使用 IE9+
http://www.html5rocks.com/en/tutorials/file/dndfiles/
看看这个。
基本上,您需要 FileReader 组件 (FileReader.readAsText(Blob|File, opt_encoding)),然后只需使用正则表达式或任何让您的山羊漂浮的东西来解析所有内容。
如果您确实需要在客户端和旧版 IE 中执行此操作,也许 ActiveX 是一个解决方案:
【讨论】:
我会在服务器端做。
http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspx
(FileUploadControl.OpenFile)
【讨论】:
除非你不能使用 HTML 5(低版本的 ie 等):
Javascript 不能直接访问文件系统,所以你将不得不使用文件上传标签并在服务器上解析它:http://webdesign.about.com/od/htmltags/p/input-file-tag.htm
然后您可以使用 AJAX 查询内容并将其拉回网格中。
【讨论】: