我有一个要求,用户将在本地选择一个 CSV 文件,我必须读取文件内容并将它们转储到 JQGrid 上。是的,浏览器是 IE :)..我应该怎么做才能做到这一点?
3 回答
实际上,您可以使用所有新的 HTML5 功能来做到这一点,所以如果您要使用 IE9+
http://www.html5rocks.com/en/tutorials/file/dndfiles/
看一下这个。
基本上,您需要 FileReader 组件 ( FileReader.readAsText(Blob|File, opt_encoding)
),然后只需使用正则表达式或任何让您的山羊漂浮的东西来解析所有内容。
如果您确实需要在客户端和较旧的 IE 中执行此操作,也许 ActiveX 是一个解决方案:
除非您不能使用 HTML 5(较低版本的 ie 等):
Javascript 无法直接访问文件系统,因此您将不得不使用文件上传标签并在服务器上对其进行解析:http ://webdesign.about.com/od/htmltags/p/input-file-tag .htm
然后,您可以使用 AJAX 查询内容并将其拉回网格中。
我会在服务器端做。
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)