zoukankan      html  css  js  c++  java
  • 设置charset=shift-jis

    项目使用了vue admin element ui中封装好的下载csv文件的方法,直接修改new Blob怎么都不好用。

    后来采用了拼数据上去,后更改charset.

    1、安装encoding-japanese

    2、修改vue admin element ui中的export2Excel.js 文件中的方法

    export function export_json_to_excel({
      multiHeader = [],
      header,
      data,
      filename,
      merges = [],
      autoWidth = true,
      bookType = 'csv',
    } = {}, wsName) {
      const csvFormat = (col => `"${col}"`);
        
     // 动态拼接数据,包括多级表头的情况
     
    // 多级表头
    let multiHeaderStr
    = ""; if (multiHeader.length > 0) { for (let i = 0; i < multiHeader.length; i++) { multiHeaderStr += multiHeader[i].map(csvFormat).join(",") + (i == multiHeader.length - 1 ? "" : " "); } }

    // 具体内容 let contentStr
    = ""; for (let i = 0; i < data.length; i++) { contentStr += data[i].map(csvFormat).join(",") + " "; }

     // 不是多级表头 let headerStr
    = ""; headerStr += header.map(csvFormat).join(","); let csvData; if (multiHeader.length > 0) { csvData = [ multiHeaderStr, headerStr, contentStr ].join(' '); } else { csvData = [ headerStr, contentStr ].join(' '); } const unicodeList = []; for (let i = 0; i < csvData.length; i += 1) { unicodeList.push(csvData.charCodeAt(i)); } // 変換処理の実施 const shiftJisCodeList = Encoding.convert(unicodeList, 'sjis', 'unicode'); const uInt8List = new Uint8Array(shiftJisCodeList); saveAs(new Blob([uInt8List], { type: 'text/csv' }), `${filename}.${bookType}`); }
  • 相关阅读:
    1.Hello World
    1.Hello World
    1.Hello World
    32.IDEA新建MAVEN项目时速度缓慢
    31.最特殊的快捷键 Alt + Enter 介绍(新用户必看)
    HelloWorld
    mybatis要指定参数再数据库中的类型,类型要全大写
    递归函数,修改全局变量,高阶函数
    不定长参数
    函数返回值return,列表字典的拆包
  • 原文地址:https://www.cnblogs.com/rabbit-lin0903/p/14964103.html
Copyright © 2011-2022 走看看