我是靠谱客的博主 怕孤单毛巾,最近开发中收集的这篇文章主要介绍nodeJS 利用xlsx导出插件导出excel文件 (可以设置excel单元格颜色/宽度),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
var XLSX = require('xlsx');
var _exports = {};
module.exports = _exports;
_exports.exportXls = function(data) {
var ws = {
s:{
"!row" : [{wpx: 67}]
}
};
ws['!cols']= [];
for(var n = 0; n != data[0].length; ++n){
ws['!cols'].push({
wpx: 170
});
}
var range = {
s : {
c : 10000000,
r : 10000000,
},
e : {
c : 0,
r : 0
}
};
for (var R = 0; R != data.length; ++R) {
for (var C = 0; C != data[R].length; ++C) {
if (range.s.r > R)
range.s.r = R;
if (range.s.c > C)
range.s.c = C;
if (range.e.r < R)
range.e.r = R;
if (range.e.c < C)
range.e.c = C;
var cell = {
v : data[R][C],
s:{
fill: { fgColor: { rgb: "33000000"}},
alignment: {horizontal: "center" ,vertical: "center"},
}
};
if (cell.v == null)
continue;
var cell_ref = XLSX.utils.encode_cell({
c : C,
r : R
});
if ( typeof cell.v === 'number')
cell.t = 'n';
else if ( typeof cell.v === 'boolean')
cell.t = 'b';
else if (cell.v instanceof Date) {
cell.t = 'n';
cell.z = XLSX.SSF._table[14];
cell.v = datenum(cell.v);
} else
cell.t = 's';
if(R){
delete cell.s.fill;
}
ws[cell_ref] = cell;
}
}
data.fileName = "sample.xlsx";
var workbook = new Workbook();
var wsName = data.fileName.split(".xlsx")[0];
workbook.SheetNames.push(wsName);
workbook.Sheets[wsName] = ws;
if (range.s.c < 10000000)
ws['!ref'] = XLSX.utils.encode_range(range);
var wopts = {
bookType : 'xlsx',
bookSST : false,
type : 'binary'
};
var wbout = XLSX.write(workbook, wopts);
XLSX.writeFile(workbook, data.fileName);
return wbout;
};
function Workbook() {
if (!(this instanceof Workbook))
return new Workbook();
this.SheetNames = [];
this.Sheets = {};
}
最后
以上就是怕孤单毛巾为你收集整理的nodeJS 利用xlsx导出插件导出excel文件 (可以设置excel单元格颜色/宽度)的全部内容,希望文章能够帮你解决nodeJS 利用xlsx导出插件导出excel文件 (可以设置excel单元格颜色/宽度)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复