forked from sheetjs/sheetjs
Split x-spreadsheet demo script [ci skip]
This commit is contained in:
parent
12597dcf7b
commit
71160160d1
@ -42,6 +42,7 @@ a { text-decoration: none }
|
||||
<script src="https://unpkg.com/x-data-spreadsheet/dist/xspreadsheet.js"></script>
|
||||
<script src="shim.js"></script>
|
||||
<script src="xlsx.full.min.js"></script>
|
||||
<script src="xlsxspread.js"></script>
|
||||
<script>
|
||||
/*jshint browser:true */
|
||||
/* eslint-env browser */
|
||||
@ -54,43 +55,6 @@ var xspr = x_spreadsheet(HTMLOUT);
|
||||
HTMLOUT.style.height = (window.innerHeight - 400) + "px";
|
||||
HTMLOUT.style.width = (window.innerWidth - 50) + "px";
|
||||
|
||||
function stox(wb) {
|
||||
var out = [];
|
||||
wb.SheetNames.forEach(function(name) {
|
||||
var o = {name:name, rows:{}};
|
||||
var ws = wb.Sheets[name];
|
||||
var aoa = XLSX.utils.sheet_to_json(ws, {raw: false, header:1});
|
||||
aoa.forEach(function(r, i) {
|
||||
var cells = {};
|
||||
r.forEach(function(c, j) { cells[j] = ({ text: c }); });
|
||||
o.rows[i] = { cells: cells };
|
||||
})
|
||||
out.push(o);
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
||||
function xtos(sdata) {
|
||||
var out = XLSX.utils.book_new();
|
||||
sdata.forEach(function(xws) {
|
||||
var aoa = [[]];
|
||||
var rowobj = xws.rows;
|
||||
for(var ri = 0; ri < rowobj.len; ++ri) {
|
||||
var row = rowobj[ri];
|
||||
if(!row) continue;
|
||||
aoa[ri] = [];
|
||||
Object.keys(row.cells).forEach(function(k) {
|
||||
var idx = +k;
|
||||
if(isNaN(idx)) return;
|
||||
aoa[ri][idx] = row.cells[k].text;
|
||||
});
|
||||
}
|
||||
var ws = XLSX.utils.aoa_to_sheet(aoa);
|
||||
XLSX.utils.book_append_sheet(out, ws, xws.name);
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
||||
var process_wb = (function() {
|
||||
var XPORT = document.getElementById('xport');
|
||||
|
||||
|
37
demos/xspreadsheet/xlsxspread.js
Normal file
37
demos/xspreadsheet/xlsxspread.js
Normal file
@ -0,0 +1,37 @@
|
||||
function stox(wb) {
|
||||
var out = [];
|
||||
wb.SheetNames.forEach(function(name) {
|
||||
var o = {name:name, rows:{}};
|
||||
var ws = wb.Sheets[name];
|
||||
var aoa = XLSX.utils.sheet_to_json(ws, {raw: false, header:1});
|
||||
aoa.forEach(function(r, i) {
|
||||
var cells = {};
|
||||
r.forEach(function(c, j) { cells[j] = ({ text: c }); });
|
||||
o.rows[i] = { cells: cells };
|
||||
})
|
||||
out.push(o);
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
||||
function xtos(sdata) {
|
||||
var out = XLSX.utils.book_new();
|
||||
sdata.forEach(function(xws) {
|
||||
var aoa = [[]];
|
||||
var rowobj = xws.rows;
|
||||
for(var ri = 0; ri < rowobj.len; ++ri) {
|
||||
var row = rowobj[ri];
|
||||
if(!row) continue;
|
||||
aoa[ri] = [];
|
||||
Object.keys(row.cells).forEach(function(k) {
|
||||
var idx = +k;
|
||||
if(isNaN(idx)) return;
|
||||
aoa[ri][idx] = row.cells[k].text;
|
||||
});
|
||||
}
|
||||
var ws = XLSX.utils.aoa_to_sheet(aoa);
|
||||
XLSX.utils.book_append_sheet(out, ws, xws.name);
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user