vue导出.csv文件

//安装papaparse    npm i papaparse --save
import * as Papaparse from "papaparse";


/*
* * 默认导出数据头部
* 贴别注意格式的问题, 不然导出的.cvs文件和上传的.cvs文件解析出来的结果会不一样
数组的长度必须保持一致,不够的用空字符站位,如红色部分
*/ const defaultCvsData = [ ['注:批量配置时“围栏取货”与“拍照取货”只能配置其中一个。单元格“填0或不填”表示不启用配置;单元格填“1”表示启用这项配置;','','','','',''], ['门店编号', '围栏取货', '取货范围(米)', '拍照取货', '围栏内拍照', '拍照围栏范围'], ] const cvsData = ref(defaultCvsData);
function documentErrorList() {
    cvsData.value = defaultCvsData
    let list: any = []
    const data = tableData.value.filter((item: any) => item.state === 2)
    data.forEach((item: any) => {
        list = [item.shopId, item.fencePickup, item.fencePickupDistance, item.pictureBasedPickup, item.fenceAreaPhotoCaptureOnly, item.pictureBasedPickupDistance]
        cvsData.value.push(list)
    })

    const csvContent = Papaparse.unparse(cvsData.value);
    const bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
      const blob = new Blob([bom, new TextEncoder().encode(csvContent)], { type: 'text/csv;charset=UTF-8' });
const url = URL.createObjectURL(blob);
    const link = document.createElement('a');
    link.href = url;
    link.download = '批量任务执行失败内容.csv';
    link.click();
    URL.revokeObjectURL(url);
}

 导出之后的结果

 

posted @ 2024-12-17 17:45  龙卷风吹毁停车场  阅读(97)  评论(0)    收藏  举报