欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue讀取本地的excel文件并顯示在網(wǎng)頁上方法示例

 更新時間:2019年05月29日 09:46:10   作者:ptrees  
這篇文章主要介紹了vue讀取本地的excel文件并顯示在網(wǎng)頁上方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

我想實現(xiàn)讀取一個本地的xlsx文件(task_list.xlsx)然后顯示在網(wǎng)頁上, 一開始選擇的方法是建個express server, 通過發(fā)送axios請求來實現(xiàn), 但是覺得只是讀取一個本地文件還要搞個server太復雜了, 最終還是通過"xlsx"模塊 + axios實現(xiàn)了讀取本地文件, 無需后端, 步驟如下:

1.通過vue-cli新建項目:

2.編寫分析excel workbook的腳本

/src/scripts/read_xlsx.js

const XLSX = require('xlsx')

//將行,列轉換
function transformSheets(sheets) {
 var content = []
 var content1 = []
 var tmplist = []
 for (let key in sheets){
  //讀出來的workbook數(shù)據(jù)很難讀,轉換為json格式,參考https://github.com/SheetJS/js-xlsx#utility-functions
  tmplist.push(XLSX.utils.sheet_to_json(sheets[key]).length)
  content1.push(XLSX.utils.sheet_to_json(sheets[key]))
 }
 var maxLength = Math.max.apply(Math, tmplist)
 //進行行列轉換
 for (let y in [...Array(maxLength)]){
  content.push([])
  for (let x in [...Array(tmplist.length)]) {
   try {
    for (let z in content1[x][y]){
     content[y].push(content1[x][y][z])
    }
   } catch (error) {
    content[y].push(' ')
   }
  }
 }
 content.unshift([])
 for (let key in sheets){
  content[0].push(key)
 }
 return content

}

export {transformSheets as default}

3.新建一個組件

/src/components/task_list.vue

<template>
 <div class="task-list">
  <p v-if="err!==''">{{err}}</p> <!-- 用來顯示報錯 -->
  <table style="margin:0 auto;" v-if="content!==''"> <!-- 設置居中,如果沒獲取到內容則不顯示 -->
   <tr><th v-for="h in content[0]" :key="h.id">{{h}}</th></tr> <!-- 循環(huán)讀取數(shù)據(jù)并顯示 -->
   <tr v-for="row in content.slice(1,)" :key=row.id>
    <td v-for="item in row" :key=item.id>{{item}}</td>
   </tr>
  </table>
 </div>
</template>

<script>
import axios from 'axios'
import XLSX from 'xlsx'
import transformSheets from '../scripts/read_xlsx'  //導入轉制函數(shù)

export default {
 name: 'TaskList',
 data: function () {
  return {
   content: '',  //初始化數(shù)據(jù)
   err: ''
  }
 },
 created() {
  var url = "/task_list.xlsx" //放在public目錄下的文件可以直接訪問
  
  //讀取二進制excel文件,參考https://github.com/SheetJS/js-xlsx#utility-functions
  axios.get(url, {responseType:'arraybuffer'})
  .then((res) => {
    var data = new Uint8Array(res.data)
  var wb = XLSX.read(data, {type:"array"})
  var sheets = wb.Sheets
  this.content = transformSheets(sheets)
  }).catch( err =>{
   this.err = err
  })
 }
}

大功告成,編譯然后部署到服務器吧

npm run build

部署就不詳述了,把dist目錄丟到服務器上就行.


效果就是這樣,編程新手,就這個東西斷斷續(xù)續(xù)搞了快一周了...

github地址 https://github.com/LeviDeng/task_list

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue.js全局組件和局部組件示例代碼

    vue.js全局組件和局部組件示例代碼

    組件是Vue.js的最核心的功能,所謂的組件化就是把頁面拆分成多個組件,每個組件單獨使用CSS,JS,模板,圖片等資源進行開發(fā)與維護,然后在制作網(wǎng)頁的時候根據(jù)需要調用相關的組件,這篇文章主要給大家介紹了關于vue.js全局組件和局部組件的相關資料,需要的朋友可以參考下
    2022-12-12
  • vue使用vite配置跨域以及環(huán)境配置詳解

    vue使用vite配置跨域以及環(huán)境配置詳解

    跨域是指當一個資源去訪問另一個不同域名或者同域名不同端口的資源時,就會發(fā)出跨域請求,下面這篇文章主要給大家介紹了關于vue使用vite配置跨域以及環(huán)境配置的相關資料,需要的朋友可以參考下
    2022-07-07
  • 記錄vue項目中遇到的一點小問題

    記錄vue項目中遇到的一點小問題

    本文是腳本之家小編給大家收藏整理的關于vue項目中遇到的一點小問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Vue數(shù)據(jù)雙向綁定的深入探究

    Vue數(shù)據(jù)雙向綁定的深入探究

    這篇文章主要給大家介紹了關于Vue數(shù)據(jù)雙向綁定的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • vue項目或網(wǎng)頁上實現(xiàn)文字轉換成語音播放功能

    vue項目或網(wǎng)頁上實現(xiàn)文字轉換成語音播放功能

    這篇文章主要介紹了在vue項目或網(wǎng)頁上實現(xiàn)文字轉換成語音,需要的朋友可以參考下
    2020-06-06
  • vue router 路由跳轉方法講解

    vue router 路由跳轉方法講解

    這篇文章主要介紹了vue router 路由跳轉方法概述,使用到Vue的項目,我們最常見使用的就是Vue配套的Vue Router庫,本文結合示例代碼給大家詳細講解,需要的朋友可以參考下
    2022-12-12
  • 詳解Vue結合后臺的列表增刪改案例

    詳解Vue結合后臺的列表增刪改案例

    這篇文章主要介紹了詳解Vue結合后臺的增刪改案例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 解決element-ui的el-select選擇器的@blur事件失效的坑

    解決element-ui的el-select選擇器的@blur事件失效的坑

    這篇文章主要介紹了解決element-ui的el-select選擇器的@blur事件失效的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue中的Vux配置指南

    Vue中的Vux配置指南

    Vux是Vue.js的一個ui庫,官網(wǎng)在這里,官方文檔的配置指南側重于技術的羅列,我這里簡化一下Vux的配置流程。感興趣的朋友跟隨腳本之家小編一起學習吧
    2017-12-12
  • vue 詳情跳轉至列表頁實現(xiàn)列表頁緩存

    vue 詳情跳轉至列表頁實現(xiàn)列表頁緩存

    這篇文章主要介紹了vue 詳情跳轉至列表頁實現(xiàn)列表頁緩存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論