从客户端Web应用程序中提取excel内容

我有一个Web应用程序(ASP.Net),需要上传一个文件

我一直在寻找一个框架,从客户端提取Excel中的数据,并提交内容(JSON,CSV)格式到服务器端,以减lessstream量。 我已经在javascript中查看ActiveXObject,但它只能在Internet Explorer中工作。 我有一个select使用Silverlight或动作来parsing。

题:

银光真的死了吗? 我不能长期使用它吗?

这可能使用动作脚本?

有没有任何JavaScript框架来做这种parsing?

提前致谢

您可以使用JS-XLSX JavaScript库来parsing客户端上的文件,然后将parsing的电子表格的内容发送到服务器。

例如,您可以创build一个button(请参阅下面的HTML代码),然后在change事件上调用loadBinaryFile(),使用JS-XLSX库进行parsing,并使用$ .post()或其他类似的函数将其发送到服务器。

工作簿的结构是一个JSON对象,在JS-XLSX站点的文档中有很好的描述。

<script src="http://alasql.org/console/xlsx.core.min.js"></script> <input type="file" onchange="parseAndSend(event)" value="Parse and send XSLS file"> <script> function parseAndSend (event) { // Load binary file from desktop loadBinaryFile(event,function(data){ // Parse it to JSON var workbook = XLSX.read(data,{type:'binary'}); // Send to server data from workbook here // $.post({url:'http://mypostaddress',data:workbook}); alert(workbook.SheetNames); }); } function loadBinaryFile(path, success) { var files = path.target.files; var reader = new FileReader(); var name = files[0].name; reader.onload = function(e) { var data = e.target.result; success(data); }; reader.readAsBinaryString(files[0]); } </script>