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中选中列–右键-设置单元格格式–对齐-勾选 自动换行

 

版权声明:本文为hao-1234-1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hao-1234-1234/p/10572926.html