[jQuery] Excel 轉 JSON
http://jsfiddle.net/d2atnbrt/3/
<input type="file" id="my_file_input" />
<div id='my_file_output'></div>
<table class="easyui-datagrid" id="dg">
<thead>
<tr>
<th data-options="field:'code'">Code</th>
<th data-options="field:'name'">Name</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
var oFileIn;
$(function() {
oFileIn = document.getElementById('my_file_input');
if(oFileIn.addEventListener) {
oFileIn.addEventListener('change', filePicked, false);
}
});
function filePicked(oEvent) {
// Get The File From The Input
var oFile = oEvent.target.files[0];
var sFilename = oFile.name;
// Create A File Reader HTML5
var reader = new FileReader();
// Ready The Event For When A File Gets Selected
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLS.CFB.read(data, {type: 'binary'});
var wb = XLS.parse_xlscfb(cfb);
// Loop Over Each Sheet
wb.SheetNames.forEach(function(sheetName) {
// Obtain The Current Row As CSV
var sCSV = XLS.utils.make_csv(wb.Sheets[sheetName]);
var oJS = XLS.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);
//$("#my_file_output").html(sCSV);
console.log(oJS);
var str = '{"total":2,"rows":[{"code":"1","name":"一"},{"code":"2","name":"二"}]}';
var data = $.parseJSON(str);
//console.log(data);
$("#dg").datagrid('loadData', str);
});
};
// Tell JS To Start Reading The File.. You could delay this if desired
reader.readAsBinaryString(oFile);
}
留言
張貼留言