【问题标题】:Extracting excel content from client side Web Application从客户端 Web 应用程序中提取 excel 内容
【发布时间】:2015-03-16 05:10:33
【问题描述】:

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

我一直在寻找一个框架来从客户端的 excel 中提取数据并将内容(JSON、CSV)格式提交到服务器端以减少流量。我在 javascript 中查看了 ActiveXObject,但它只适用于 Internet Explorer。我可以选择使用 silverlight 或 actionscript 进行解析。

问题:

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

这可以使用动作脚本吗?

有没有 javascript 框架可以做这种解析?

提前致谢

【问题讨论】:

    标签: javascript excel actionscript-3 c#-4.0 silverlight-4.0


    【解决方案1】:

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

    例如,您可以创建一个按钮(参见下面的 HTML 代码),然后在更改事件上调用 loadBinaryFile(),使用 JS-XLSX 库对其进行解析,然后使用 $.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>    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-04
      • 2011-06-02
      • 1970-01-01
      • 2021-05-31
      • 2013-10-27
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多