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中選中列--右鍵-設置單元格格式--對齊-勾選 自動換行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM