最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue上傳解析excel文件并在列表中輸出內(nèi)容

 更新時(shí)間:2023年09月14日 11:19:27   作者:還是大劍師蘭特  
在vue的項(xiàng)目開發(fā)中,我們會遇到加載excel或者csv等情形,這個(gè)示例展示了這個(gè)需求,上傳一個(gè)excel文件,通過解析,生成數(shù)組,然后再列表中將內(nèi)容展示出來,這篇文章主要介紹了vue上傳解析excel文件,列表中輸出內(nèi)容,需要的朋友可以參考下,

需求背景

在vue的項(xiàng)目開發(fā)中,我們會遇到加載excel或者csv等情形,這個(gè)示例展示了這個(gè)需求。上傳一個(gè)excel文件,通過解析,生成數(shù)組,然后再列表中將內(nèi)容展示出來。

示例效果

在這里插入圖片描述

示例源代碼(共105行)

/*
* @Author: 大劍師蘭特(xiaozhuanlan),還是大劍師蘭特(CSDN)
* @此源代碼版權(quán)歸大劍師蘭特所有,可供學(xué)習(xí)或商業(yè)項(xiàng)目中借鑒,未經(jīng)授權(quán),不得重復(fù)地發(fā)表到博客、論壇,問答,git等公共空間或網(wǎng)站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2022-09-07
*/
<template>
	<div class="container">
		<div class="top">
			<h3>vue上傳解析excel文件,輸出列表內(nèi)容 </h3>
			<div class="author">大劍師蘭特, 還是大劍師蘭特,gis-dajianshi</div>
		</div>
		<h4>
			<el-upload ref="upload" action="/" :show-file-list="false" :on-change="importExcel" :auto-upload="false">
				<el-button slot="trigger" icon="el-icon-upload" size="small" type="success">上傳文件</el-button>
			</el-upload>
		</h4>
		<div style="width: 80%; margin:10px auto">
			<el-table :data="xlsxData" style="width: 100%">
				<el-table-column prop="name" label="姓名" width="180"></el-table-column>
				<el-table-column prop="class" label="班級" width="180"></el-table-column>
				<el-table-column prop="score" label="成績"></el-table-column>
				<el-table-column prop="level" label="等級"></el-table-column>
			</el-table>
		</div>
	</div>
</template>
<script>
	import * as XLSX from 'xlsx'
	export default {
		data() {
			return {
				wb: null,
				xlsxData: [],
			}
		},
		methods: {
			importExcel(file) {
				// let filefile = file.files[0] // 使用傳統(tǒng)的input方法需要加上這一步 
				const types = file.name.split('.')[1]
				const fileType = ['xlsx', 'xlc', 'xlm', 'xls', 'xlt', 'xlw', 'csv'].some(item => item === types)
				if (!fileType) {
					alert('格式錯(cuò)誤!請重新選擇')
					return
				}
				this.fileExchange(file).then(tabJson => {
			  if (tabJson && tabJson.length > 0) {
						this.xlsxData = tabJson[0].sheet
						console.log(this.xlsxData)
						// xlsxJson就是解析出來的json數(shù)據(jù),數(shù)據(jù)格式如下 
						// [ 
						//   { 
						//     sheetName: sheet1 
						//     sheet: sheetData 
						//   } 
						// ] 
					}
				})
			},
			fileExchange(file) {
				return new Promise(function(resolve, reject) {
					const reader = new FileReader()
			  reader.onload = function(e) {
						const data = e.target.result
						this.wb = XLSX.read(data, {
							type: 'binary'
						})
						const result = []
						this.wb.SheetNames.forEach((sheetName) => {
							result.push({
								sheetName: sheetName,
								sheet: XLSX.utils.sheet_to_json(this.wb.Sheets[sheetName])
							})
						})
						resolve(result)
					}
					reader.readAsBinaryString(file.raw)
			 	// reader.readAsBinaryString(file) // 傳統(tǒng)input方法 
				})
			}
		},
	}
</script>
<style scoped>
	.container {
		width: 1000px;
		height: 580px;
		margin: 50px auto;
		border: 1px solid green;
	}
	.top {
		margin: 0 auto 30px;
		padding: 10px 0;
		background: #23B486;
		color: #fff;
	}
</style>

安裝引用依賴

// 安裝插件 
npm install xlsx --save 
// 在vue中導(dǎo)入XLSX 
import  * as XLSX from 'xlsx' 

API參考

https://www.npmjs.com/package/xlsx

到此這篇關(guān)于vue上傳解析excel文件,列表中輸出內(nèi)容的文章就介紹到這了,更多相關(guān)vue上傳解析excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)無縫輪播效果(跑馬燈)

    vue實(shí)現(xiàn)無縫輪播效果(跑馬燈)

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)無縫輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換)

    關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換)

    這篇文章主要介紹了關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue中computed順序、watch順序、響應(yīng)次數(shù)使用

    vue中computed順序、watch順序、響應(yīng)次數(shù)使用

    這篇文章主要介紹了vue中computed順序、watch順序、響應(yīng)次數(shù)使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 解決vue-pdf的簽章不顯示問題記錄

    解決vue-pdf的簽章不顯示問題記錄

    文章介紹了使用vue-pdf@4.3.0時(shí)遇到的上傳特殊PDF文件無法正常預(yù)覽的問題,通過查看控制臺報(bào)錯(cuò)信息,發(fā)現(xiàn)是因?yàn)槿鄙僮煮w導(dǎo)致的,解決方法是修改pdfjs-dist庫的代碼,注釋掉隱藏電子簽章的代碼,為了在生產(chǎn)環(huán)境中應(yīng)用這個(gè)修改,使用了patch-package插件,感興趣的朋友一起看看吧
    2024-11-11
  • 淺談Vue-cli 命令行工具分析

    淺談Vue-cli 命令行工具分析

    本篇文章主要介紹了淺談Vue-cli 命令行工具分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)

    vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)

    最近工作上需要在el-dialog基礎(chǔ)上進(jìn)行些功能的改動(dòng),下面這篇文章主要給大家介紹了關(guān)于vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的代碼詳解

    ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的代碼詳解

    這篇文章給大家介紹了ElementUI實(shí)現(xiàn)el-table列寬自適應(yīng)的詳細(xì)步驟,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • vue-cli4項(xiàng)目開啟eslint保存時(shí)自動(dòng)格式問題

    vue-cli4項(xiàng)目開啟eslint保存時(shí)自動(dòng)格式問題

    這篇文章主要介紹了vue-cli4項(xiàng)目開啟eslint保存時(shí)自動(dòng)格式的問題小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Vue項(xiàng)目打包為exe可安裝程序操作步驟

    Vue項(xiàng)目打包為exe可安裝程序操作步驟

    這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包為exe可安裝程序操作步驟的相關(guān)資料,Vue是一種流行的JavaScript框架,用于構(gòu)建單頁面應(yīng)用程序(SPA),需要的朋友可以參考下
    2023-12-12
  • vue做網(wǎng)頁開場視頻的實(shí)例代碼

    vue做網(wǎng)頁開場視頻的實(shí)例代碼

    這篇文章主要介紹了vue做網(wǎng)頁開場視頻的實(shí)例代碼,需要的朋友可以參考下
    2017-10-10

最新評論

桂林市| 清远市| 桃园县| 鄂托克旗| 通城县| 吴堡县| 河西区| 沾益县| 邹平县| 鹤壁市| 枞阳县| 阿拉善盟| 昌平区| 修文县| 平南县| 昆山市| 永善县| 彰化县| 岫岩| 浏阳市| 东兰县| 郑州市| 靖边县| 莎车县| 乐都县| 资溪县| 鹤山市| 武强县| 饶河县| 横峰县| 怀来县| 凤阳县| 色达县| 三门峡市| 大冶市| 湘阴县| 颍上县| 梁河县| 饶阳县| 信宜市| 怀柔区|