Excel自动换行、Export2Excel 自动换行

1需求:导出excel后自动换行显示。

2插件:Export2Excel

3.测试

    listToExcel() {
      import('@/vendor/Export2Excel').then(excel => {
        const tHeader = ['姓名', '专业', '最高学历', '技术职称', '职务', '承担任务', '电话', '出生日期', '身份证号', '邮箱', '教育背景', '工作经历', '备注', '单位名称']
        const filterVal = ['Name', 'Major', 'HighestDegreeName', 'TechnicalTitleName', 'Duty', 'UndertakeTask', 'Telphone', 'BirthDate', 'IDNum', 'Email', 'EduBackground', 'WorkExperience', 'Comment', 'CompanyName']
        const list = this.excelList //数据源
        const data = this.formatJson(filterVal, list)
        excel.export_json_to_excel({
          header: tHeader,
          data,
          filename: this.filename,
          autoWidth: this.autoWidth
        })
        this.downloadLoading = false
      })
    },

    formatJson(filterVal, jsonData) {
      return jsonData.map(v => filterVal.map(j => {
        if (j === 'BirthDate') {
          const date = /\d{4}-\d{1,2}-\d{1,2}/g.exec(v[j])
          return date
        }
        // if (j === 'WorkExperience') {
        //   if (v[j]) {
        //     // console.log(v[j].replace(/\r/g, '\\r'))
        //     // console.log(v[j].replace(/\n/g, '\\n'))
        //     // v[j].replace(/\n/g, '\r\n')
        //     // console.log(v[j].replace(/\n/g, String.valueOf('(char)10')))
        //     // console.log(v[j].replace(/\n/g, String.valueOf('char(10)')))
        //     return v[j].replace(/\n/g, String.valueOf('char(10)'))
        //   }
        //   return null
        // }
        return v[j]
      }))
    },

测试结果表明:

1elementUI input组件  键入enter后输入的换行符是\n

2Export2Excel 已经将\n 正确转义;

3 将\n 替换为\r\n 、\char(10)  ,Excel中仍然不会自动换行显示。

Export2Excel源码中找了半天也没找到这个“自动换行显示”配置项,可能根本没有。

4简单替代方案:
方案一:在Excel中选中列--点击菜单 开始--对齐方式--自动换行
方案二:在Excel中选中列--右键-设置单元格格式--对齐-勾选 自动换行

猜你喜欢

转载自www.cnblogs.com/hao-1234-1234/p/10572926.html