我是靠谱客的博主 怕孤单毛巾,最近开发中收集的这篇文章主要介绍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单元格颜色/宽度)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部