react获取数据导出到excel

8 篇文章 0 订阅

数据从接口获取,执行导出的方法

下载插件 js-export-excel

npm install js-export-excel

or

yarn add js-export-excel
//导出为excel文件的方法
    const downloadFileToExcel = () => {
        let option = {}, //option代表的就是excel文件
            dataTable = [],  //excel文件中的数据内容
            arr = dataSource;//获取数据源
        let firstCol = { '日期': "2020/9/20-2020/9/25", '报表日期': "2020/9/25" }
        dataTable.push(firstCol);
        if (arr && arr.length > 0) {
            for (let i in arr) {  //循环获取excel中每一行的数据
                // let _planDay = formatTime(arr[i].planDay, true);  //格式化日期(自定义方法)
                let obj = {
                    '序号': i * 1 + 1,
                    '品类': arr[i].category_name,
                    '面料编号': arr[i].fabric_sn,
                    '面料成分': arr[i].composition,
                    '件数': arr[i].quantity,
                    '尺码': arr[i].size,
                    '款式描述': arr[i].style_describe,
                    '工艺要求': arr[i].technic_describe,
                    '面料费': arr[i].fabric_fee,
                    '成衣费': arr[i].clothes_fee,
                    '交期': arr[i].delivery,
                    '备注': arr[i].remark,
                    '图片': arr[i].image,
                }
                dataTable.push(obj);  //设置excel中每列所获取的数据源
            }
        }
        option.fileName = '样品信息表';  //excel文件名称
        option.datas = [
            {
                sheetData: dataTable,  //excel文件中的数据源
                sheetName: '样品信息报表',  //excel文件中sheet页名称
                sheetFilter: [
                    '序号', '品类', '面料编号', '面料成分', '件数', '尺码', '款式描述', '工艺要求', '面料费', '成衣费', '交期', '备注', '图片'
                ],  //excel文件中需显示的列数据
                sheetHeader: [
                    '序号', '品类', '面料编号', '面料成分', '件数', '尺码', '款式描述', '工艺要求', '面料费', '成衣费', '交期', '备注', '图片'
                ],  //excel文件中每列的表头名称
                // columnWidths : [5, 5] //列宽 需与列顺序对应
            },
            {
                sheetData: dataTable,  //excel文件中的数据源
                sheetName: '业务详情报表',  //excel文件中sheet页名称
                sheetFilter: ['序号', '品类', '面料编号', '面料成分', '件数', '尺码', '款式描述', '工艺要求', '面料费', '成衣费', '交期', '备注', '图片'],  //excel文件中需显示的列数据
                sheetHeader: ['序号', '品类', '面料编号', '面料成分', '件数', '尺码', '款式描述', '工艺要求', '面料费', '成衣费', '交期', '备注', '图片'],  //excel文件中每列的表头名称
                // columnWidths : [5, ""] //列宽 需与列顺序对应
            }
        ]
        let toExcel = new ExportJsonExcel(option);  //生成excel文件

        toExcel.saveExcel();  //下载excel文件
    }
 <Button type="primary" onClick={downloadFileToExcel} style={{ marginBottom: "15px" }}>下载</Button>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值