锐辉高防IDC 发表于 2020-6-20 10:18:23

110.42.8.5国内BGPnode+express导出excel服务器搭建网站表格

110.42.8.5国内BGPnode+express导出excel服务器搭建网站表格

需要服务器咨询以下联系方式
联系人:火烧云小地瓜
扣扣:3007425289/2853898501
电话:18316411879
官网:http://huoshaocloud.com

服务承诺
1.提供一级电信运营商的资源。
2.可按用户要求进行IP地址指向的最优分配。
3.提供7×24小时技术支持服务。
4.如遇计划性中断,提前24小时通知。
5.根据客户需求提供流量监测,分析报告。
你找卖家,卖家再找公司,公司再找机房......
等处理好已经不是服务问题了,
而是时间,玩家流失的问题了,
这就和选老婆一样,老婆不会做家务也没用,
所以选服务器一定要选有售后保障的。
火烧云24小时在线售后!
您选择火烧云就不怕没人处理问题了!

node报表导出来excel的方法有多种,如今仍在不断升级的仅有node-xlsx excel-export:
(1)js-xlsx :通道
现阶段Github上star总数数最多的解决Excel的库,适用分析多种多样文件格式报表XLSX/XLSM/XLSB/XLS/CSV,分析  选用纯js完成,载入必须依靠nodejs或是FileSaver.js完成转化成载入Excel,能够转化成子表Excel,功能齐全,但入门难度系数稍大。不出示基础设置Excel报表api例单元格总宽,文本文档一些乱,不宜迅速入门
(2)node-xlsx :通道
根据Node.js分析excel文档数据信息及转化成excel文档,仅适用xlsx文件格式;
(3)excel-parser :通道
根据Node.js分析excel文档数据信息,适用xls及xlsx文件格式,必须依靠python,过重不太好用;
(4)excel-export :通道
根据Node.js将数据信息转化成导出来excel文档,转化成格式文件为xlsx,能够设定单元格总宽,API非常容易入门,没法转化成worksheet字表,较为单一,基本要素能够基础考虑;
(5)node-xlrd :
根据node.js从excel文档中获取数据信息,仅适用xls文件格式,不兼容xlsx,有点儿落伍,常见的全是XLSX文件格式。
实际应用-excel-export:
流程一:安裝软件excel-export  
cnpmi-sexcel-export
流程二:在js文件中引进
varnodeExcel=require('excel-export');
流程三:实际应用,方式 一是写固定不动的,方式 二是查询表的
/**
*免费下载excel
**/
router.get('/excel',function(req,res){
varname=encodeURI('检测表');
varconf={};
conf.name="aaa";//表下边姓名,默认设置不可以为汉语
/**
*表头数据信息
**/
letcolsArr=[
//{
//caption:'名字',
//type:'string',
//},{
//caption:'时间',
//type:'date',
//},{
//caption:'种类',
//type:'bool'
//},{
//caption:'手ji号',
//type:'number'
//}
{
caption:'编号',
type:'number',
},
{
caption:'id',
type:'string',
},
{
caption:'name',
type:'string',
},
];
conf.cols=colsArr;
/**
   * 表内容数据
   * */
    let data = [
      {
            id:'1',
            name:'zwh'
      },{
            id:'222',
            name:'dddd'
      },{
            id:'839',
            name:'23ddg'
      }
    ]
    let array =[];
    for(var i=0; i<data.length; i++){
      var temp = new Array();
      temp = i+1;
      temp = data.id;
      temp = data.name;
      array.push(temp);
    }
    conf.rows = array
    var result = nodeExcel.execute(conf);

    res.setHeader('Content-Type', 'application/vnd.openxmlformats;charset=utf-8');
    // res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
    res.setHeader("Content-Disposition", "attachment; filename=" + name + ".xlsx");

    res.end(result, 'binary');
});



/**
* 下载table表格
* */
router.get('/tableDown', function(req, res){
    //模糊查询的sqlSELECT * FROMbloginformation WHERE blogTitle LIKE ? OR blogContent LIKE ? OR blogLable LIKE ?
    var params = req.query || req.params;
    let sql = "SELECT * FROM `table`";   //查询列表所有的数据
    let content = [];
    let isMore = false;//是否有多个查询参数
    if(params.name){
      // 模糊查询两种方法直接在SQL语句后加 mysql.escape("%"+req.body.name+"%")
      // sql += " WHERE product_name LIKE "+mysql.escape("%"+req.body.name+"%")
      sql += " WHERE name LIKE ?";
      content.push( "%"+params.name+"%" );
      isMore = true;
    }
    if(params.age){
      if(isMore){//true代表有多个参数
            sql += "and age like ?";//and是两个条件都必须满足,or是或的关系
      }else{
            sql += " WHERE age LIKE ?";
      }
      content.push( "%"+params.age+"%" );
    }
    if(params.page || params.page_size){//开启分页
      let current = params.page;//当前页码
      let pageSize = params.page_size;//一页展示多少条数据
      sql += " limit ?,?";
      content.push((current-1)*pageSize,parseInt(pageSize));
    }

    db.query(sql, content,function(result,fields){
      var name = encodeURI('人员表');
      var conf ={};
      // conf.name = "aaa";//表下面名字,默认不能为中文

      /**
         * 表头数据-类型必须和数据库要对的上
         * */
      let colsArr = [
            {caption:'序号',type:'number'},
            {caption:'id',type:'number'},
            {caption:'name',type:'string'},
            {caption:'age',type:'number'},
            {caption:'phone',type:'string'},
      ];
      conf.cols = colsArr;

      /**
         * 表内容数据
         * */
      let array =[];
      result.forEach((item,index)=>{
            var temp = [];
                temp.push(index);
                temp.push(item.id);
                temp.push(item.name);
                temp.push(item.age);
                temp.push(item.phone);
            array.push(temp);
      })
      conf.rows = array;
      console.log(array);
      var result = nodeExcel.execute(conf);

      res.setHeader('Content-Type', 'application/vnd.openxmlformats;charset=utf-8');
      res.setHeader("Content-Disposition", "attachment; filename=" + name + ".xlsx");

      res.end(result, 'binary');
页: [1]
查看完整版本: 110.42.8.5国内BGPnode+express导出excel服务器搭建网站表格