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