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(/ /g, '\r')) // // console.log(v[j].replace(/ /g, '\n')) // // v[j].replace(/ /g, ' ') // // console.log(v[j].replace(/ /g, String.valueOf('(char)10'))) // // console.log(v[j].replace(/ /g, String.valueOf('char(10)'))) // return v[j].replace(/ /g, String.valueOf('char(10)')) // } // return null // } return v[j] })) },
测试结果表明:
1elementUI input组件 键入enter后输入的换行符是
2Export2Excel 已经将 正确转义;
3 将 替换为 、char(10) ,Excel中仍然不会自动换行显示。
Export2Excel源码中找了半天也没找到这个“自动换行显示”配置项,可能根本没有。
4简单替代方案:
方案一:在Excel中选中列--点击菜单 开始--对齐方式--自动换行
方案二:在Excel中选中列--右键-设置单元格格式--对齐-勾选 自动换行