我有一个需要上传文件的网络应用程序 (ASP.Net)
我一直在寻找一个框架来从客户端的 excel 中提取数据并将内容(JSON、CSV)格式提交到服务器端以减少流量。我在 javascript 中研究过 ActiveXObject,但它只适用于 Internet Explorer。我可以选择使用 silverlight 或 actionscript 来进行解析。
问题:
Is silverlight really dead? can't i use it on the long run?
Is this possible using action script?
Is there any javascript framework to do this kind of parsing?
提前致谢
最佳答案
您可以使用 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>
关于javascript - 从客户端 Web 应用程序中提取 excel 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069962/