個人推薦的兩款vue導出EXCEL插件


個人認為前端VUE項目中導出EXCEL比較好的兩種方法,均不是我個人原創,我只是收錄簡單說明,原創地址在下面。

  • 下面推薦兩種方法,個人推薦第一種,第二種不做詳細講解,因為作者已經寫過博客了,你們可以點擊下面鏈接去學習一下。

下面開始講第一種vue-json-excel

npm安裝依賴包

npm install vue-json-excel

項目入口文件引進注冊並且使用
import Vue from 'vue'
import JsonExcel from 'vue-json-excel'

Vue.component('downloadExcel', JsonExcel)
在頁面中使用
<download-excel
	class = "export-excel-wrapper"
	:data = "json_data"
	:fields = "json_fields"
	name = "filename.xls">
	<!-- 上面可以自定義自己的樣式,還可以引用其他組件button -->
	<!-- <el-button type="primary" size="small">導出EXCEL</el-button> -->
</download-excel>
簡單說明一下組件屬性
  • json_data: 需要導出的數據
  • json_fields: 自主選擇要導出的字段,指定嵌套數據並將標簽分配給鍵是標簽的字段,值是JSON字段。這將“按原樣”導出字段數據。如果需要自定義導出的數據,可以定義回調函數。
屬性名 類型 描述
data Array 需要導出的數據,支持中文
fields Object 定義需要導出的數據
name string 導出EXCEL的文件名
type string 導出EXCLE的文件類型,兩種格式xls,csv,默認是xls
可能上面描述不是很明白,下面給個實例,

注意一下幾點

  • json_fields里面的屬性是excel表每一列的title,注意多個詞組組成的屬性名要加雙引號
  • 如果需要自定義導出的數據,可以定義回調函數。
data() {
    return {
      json_fields: {
        "Complete name": "name",	//常規字段
        Telephone: "phone.mobile", //支持嵌套屬性
        "Telephone 2": {
          field: "phone.landline",
					//自定義回調函數
          callback: value => {
            return `Landline Phone - ${value}`;
          }
        }
      },
      json_data: [
        {
          name: "Tony Peña",
          city: "New York",
          country: "United States",
          birthdate: "1978-03-15",
          phone: {
            mobile: "1-541-754-3010",
            landline: "(541) 754-3010"
          }
        },
        {
          name: "Thessaloniki",
          city: "Athens",
          country: "Greece",
          birthdate: "1987-11-23",
          phone: {
            mobile: "+1 855 275 5071",
            landline: "(2741) 2621-244"
          }
        }
      ],
      json_meta: [
        [
          {
            " key ": " charset ",
            " value ": " utf- 8 "
          }
        ]
      ]
    };
  }
EXCEL截圖

![EXCEL截圖](http://p5z2wdpjb.bkt.clouddn.com/20180918111333.png ''EXCEL截圖'')

以上就是這次隨筆的內容了,我覺得vue-json-excel已經可以滿足大多數的需求了,有什么問題可以去gitub提問或者在我博客下方評論,我會第一時間回復。


免責聲明!

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



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