国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站算信息化建設(shè)電腦版百度網(wǎng)盤(pán)

網(wǎng)站算信息化建設(shè),電腦版百度網(wǎng)盤(pán),怎樣打開(kāi)網(wǎng)站制作,網(wǎng)站開(kāi)發(fā)屬于什么崗位xlsx xlsx是由SheetJS開(kāi)發(fā)的一個(gè)處理excel文件的npm庫(kù) 適用于前端開(kāi)發(fā)者實(shí)現(xiàn)導(dǎo)入導(dǎo)出excel文件的經(jīng)典需求 為了區(qū)別于xlsx文件,突出其應(yīng)用語(yǔ)言,該庫(kù)通常又被稱(chēng)為js-xlsx 導(dǎo)出js數(shù)據(jù)為Excel文件 需要以下步驟: 安裝 xlsx 庫(kù) 你可以使用 …

xlsx

xlsx是由SheetJS開(kāi)發(fā)的一個(gè)處理excel文件的npm庫(kù)

適用于前端開(kāi)發(fā)者實(shí)現(xiàn)導(dǎo)入導(dǎo)出excel文件的經(jīng)典需求

為了區(qū)別于xlsx文件,突出其應(yīng)用語(yǔ)言,該庫(kù)通常又被稱(chēng)為js-xlsx

導(dǎo)出js數(shù)據(jù)為Excel文件

需要以下步驟:

  1. 安裝 xlsx 庫(kù) 你可以使用 npm 包管理器安裝 xlsx 庫(kù),也可以將 xlsx 下載到本地,然后在 HTML 文件中通過(guò) script 標(biāo)簽引入。
  2. 準(zhǔn)備數(shù)據(jù) 將需要導(dǎo)出的數(shù)據(jù)準(zhǔn)備好,并將其存儲(chǔ)為一個(gè)數(shù)組或?qū)ο蟆?/li>
  3. 創(chuàng)建工作簿 通過(guò) xlsx 庫(kù)的 utils.book_new() 方法創(chuàng)建一個(gè)工作簿(workbook)對(duì)象,該對(duì)象包含一個(gè)或多個(gè)工作表(worksheet)。
  4. 創(chuàng)建工作表 通過(guò) xlsx 庫(kù)的 utils.json_to_sheet() 方法創(chuàng)建一個(gè)工作表,并將準(zhǔn)備好的數(shù)據(jù)作為參數(shù)傳入該方法。如果需要?jiǎng)?chuàng)建多個(gè)工作表,可以多次調(diào)用該方法,并將它們添加到工作簿對(duì)象中。
  5. 將工作表添加到工作簿 通過(guò) xlsx 庫(kù)的 utils.book_append_sheet() 方法將創(chuàng)建好的工作表添加到工作簿對(duì)象中。
  6. 導(dǎo)出數(shù)據(jù) 通過(guò) xlsx 庫(kù)的 writeFile() 方法將工作簿對(duì)象導(dǎo)出為 Excel 文件。你可以指定導(dǎo)出的文件名和文件格式,比如 .xlsx.csv。

以下是一個(gè)使用 xlsx 庫(kù)將數(shù)據(jù)導(dǎo)出為 Excel 文件的示例代碼:

vue

<script setup>
import * as XLSX from "xlsx/xlsx.mjs";
const download = () => {const data = [["姓名", "年齡", "性別"],["張三", 18, "男"],["李四", 22, "女"],["王五", 25, "男"],];const workbook = XLSX.utils.book_new();const worksheet = XLSX.utils.json_to_sheet(data);XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");XLSX.writeFile(workbook, "data.xlsx");
};
</script><template><button @click="download">導(dǎo)出</button>
</template>

導(dǎo)入Excel文件生成js數(shù)據(jù)

  1. 使用input type="file"選擇xlsx文件
  2. 使用fileReader讀取文件為二進(jìn)制編碼
  3. XLSX.read方法處理二進(jìn)制編碼為worksheet對(duì)象
  4. XLSX.utils.sheet_to_json轉(zhuǎn)換worksheet對(duì)象為json數(shù)據(jù),實(shí)際上就是js數(shù)組
  5. 最后處理數(shù)組數(shù)據(jù)為自己想要的格式即可
<template><article><p>導(dǎo)入高德地圖xlsx文件</p><input type="file" ref="upload" accept=".xls,.xlsx" /></article>
</template><script>
import XLSX from "xlsx"
export default {mounted() {// 監(jiān)聽(tīng)表格導(dǎo)入事件this.$refs.upload.addEventListener("change", e => {this.readExcel(e)})},methods: {readExcel(e) {//表格導(dǎo)入const files = e.target.files//如果沒(méi)有文件名,不往下執(zhí)行if (files.length <= 0) return// 上傳文件格式不正確,非xls或者xlsx格式文件,不往下執(zhí)行if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) returnconst fileReader = new FileReader()// readAsBinaryString將文件讀取為二進(jìn)制編碼fileReader.readAsBinaryString(files[0])// 讀取完成fileReader.onload = ev => {try {// 二進(jìn)制數(shù)據(jù)const data = ev.target.result// xlsx處理二進(jìn)制數(shù)據(jù)const workbook = XLSX.read(data, {type: "binary"})//取第一張表const wsname = workbook.SheetNames[0] // 根據(jù)表格內(nèi)容生成json數(shù)據(jù)const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]) const outputs = [] //清空接收數(shù)據(jù)for (let i = 0; i < ws.length; i++) {const sheetData = {value: ws[i].adcode,label: ws[i].中文名}outputs.push(sheetData)}} catch (e) {console.log(e)}}}}
}
</script>

xlsx-js-style庫(kù)使用

xlsx基礎(chǔ)庫(kù)不提供樣式設(shè)置,可以使用xlsx-js-style庫(kù),這個(gè)庫(kù)是xlsx庫(kù)的fork版本,并添加了樣式定義

詳細(xì)樣式可以查看https://github.com/gitbrent/xlsx-js-style/

可以調(diào)節(jié)背景色、字體樣式、border

npm i -s xlsx-js-style
<script setup>
import XLSX from "xlsx-js-style";
console.log();
const download = () => {const wb = XLSX.utils.book_new();const ws = XLSX.utils.aoa_to_sheet([["Hello", "World"],[1, 2],]);// 在單元格對(duì)象中添加 `s` 屬性來(lái)設(shè)置該單元格的樣式ws["A1"].s = {font: { bold: true },alignment: { horizontal: "center" },fill: { fgColor: { rgb: "FFFF0000" } },};ws["B2"].s = {alignment: { horizontal: "center" },font: { bold: true },fill: { fgColor: { rgb: "FFFF0000" } },};XLSX.utils.book_append_sheet(wb, ws, "Sheet1");XLSX.writeFile(wb, "example.xlsx");
};
</script>

去掉標(biāo)題頭

XLSX.utils.json_to_sheet默認(rèn)使用Object.keys生成頭部

所以如下數(shù)據(jù)格式不加上skipHeader: true,會(huì)出現(xiàn)0 1 2的索引頭部

<script setup>
import XLSX from "xlsx-js-style";
const download = () => {const data = [["姓名", "年齡", "性別"],["張三", 18, "男"],["李四", 22, "女"],["王五", 25, "男"],];const wb = XLSX.utils.book_new();const ws = XLSX.utils.json_to_sheet(data, {skipHeader: true,});XLSX.utils.book_append_sheet(wb, ws, "Sheet1");XLSX.writeFile(wb, "example.xlsx");
};
</script><template><button @click="download">導(dǎo)出</button>
</template>

設(shè)置列寬

<script setup>
import XLSX from "xlsx-js-style";
const download = () => {const data = [{ 姓名: "張三", 年齡: 18, 性別: "男" },{ 姓名: "李四", 年齡: 20, 性別: "女" },{ 姓名: "王五", 年齡: 22, 性別: "男" },];const wb = XLSX.utils.book_new();const ws = XLSX.utils.json_to_sheet(data);ws["!cols"] = [{wpx: 150,},{wpx: 500,},{wpx: 100,},];XLSX.utils.book_append_sheet(wb, ws, "Sheet1");XLSX.writeFile(wb, "example.xlsx");
};
</script><template><button @click="download">導(dǎo)出</button>
</template>

合并單元格

<script setup>
import XLSX from "xlsx-js-style";
const download = () => {const data = [{ 姓名: "張三", 年齡: 18, 性別: "男" },{ 姓名: "李四", 年齡: 20, 性別: "女" },{ 姓名: "王五", 年齡: 22, 性別: "男" },];const wb = XLSX.utils.book_new();const ws = XLSX.utils.json_to_sheet(data);// s 表示要合并的單元格范圍的左上角單元格,r 表示該單元格的行號(hào),c 表示該單元格的列號(hào),行列號(hào)從 0 開(kāi)始計(jì)數(shù)。所以 { r: 0, c: 0 } 表示第 1 行第 1 列的單元格,即 A1 單元格。// e 表示要合并的單元格范圍的右下角單元格,其含義與 s 相同。所以 { r: 0, c: 1 } 表示第 1 行第 2 列的單元格,即 B1 單元格。// 因此,{ s: { r: 0, c: 0 }, e: { r: 0, c: 1 } } 表示要合并第 1 行第 1 列和第 1 行第 3 列之間的元格。// 注意,合并會(huì)以開(kāi)始位置單元格中的內(nèi)容為準(zhǔn),所以合并后的單元格中的內(nèi)容為 A1 單元格中的內(nèi)容。ws["!merges"] = [{ s: { r: 0, c: 0 }, e: { r: 0, c: 2 } }];XLSX.utils.book_append_sheet(wb, ws, "Sheet1");XLSX.writeFile(wb, "example.xlsx");
};
</script><template><button @click="download">導(dǎo)出</button>
</template>
http://aloenet.com.cn/news/37195.html

相關(guān)文章:

  • 成都網(wǎng)站建設(shè)公司常熟網(wǎng)站建設(shè)
  • 做鞋的垂直網(wǎng)站百度客服24小時(shí)電話人工服務(wù)
  • b2c購(gòu)物網(wǎng)站開(kāi)發(fā)西安seo網(wǎng)站關(guān)鍵詞優(yōu)化
  • 做旅行網(wǎng)站的意義百度官網(wǎng)app下載安裝
  • 哪些網(wǎng)站可以做邀請(qǐng)函精準(zhǔn)大數(shù)據(jù)獲客系統(tǒng)
  • 免費(fèi)行情的軟件入口下載路由器優(yōu)化大師
  • 宣城市建設(shè)銀行網(wǎng)站建站流程
  • 外貿(mào)網(wǎng)站建設(shè)步驟網(wǎng)站設(shè)計(jì)公司多少錢(qián)
  • 青島中小企業(yè)網(wǎng)站制作公司網(wǎng)站建設(shè)費(fèi)用多少
  • 百度制作的wordpress工具欄seo在線工具
  • 個(gè)人做網(wǎng)站的流程淘寶推廣
  • 找人做公司網(wǎng)站百度商城
  • 網(wǎng)站建設(shè)項(xiàng)目采購(gòu)公告天津seo優(yōu)化公司
  • 怎么做接口網(wǎng)站企業(yè)推廣方法
  • 在局網(wǎng)站 作風(fēng)建設(shè)免費(fèi)頂級(jí)域名注冊(cè)網(wǎng)站
  • 高端網(wǎng)站建設(shè)公司興田德潤(rùn)可以不上海網(wǎng)絡(luò)推廣排名公司
  • wordpress登陸頁(yè)面保護(hù)插件seo點(diǎn)擊工具
  • 建筑電工證查詢(xún)網(wǎng)站企業(yè)seo案例
  • 網(wǎng)站名和域名的區(qū)別seo推廣多少錢(qián)
  • 如何創(chuàng)建自己網(wǎng)站電商項(xiàng)目策劃書(shū)
  • 做阿里巴巴網(wǎng)站圖片大全如何做公司網(wǎng)站推廣
  • 做曖視頻網(wǎng)站大全什么平臺(tái)可以做引流推廣
  • 網(wǎng)站推廣的優(yōu)勢(shì)有哪些seo課程培訓(xùn)視頻
  • 怎么做網(wǎng)站前臺(tái)站長(zhǎng)之家怎么找網(wǎng)址
  • 免費(fèi)網(wǎng)站建設(shè)塔山雙喜泉州全網(wǎng)營(yíng)銷(xiāo)推廣
  • 門(mén)戶(hù)網(wǎng)站和社交網(wǎng)絡(luò)的區(qū)別百度平臺(tái)商家我的訂單查詢(xún)
  • 網(wǎng)站登錄賬號(hào)密碼保存在哪里推廣手段有哪些
  • 螞蟻幣是什么網(wǎng)站建設(shè)網(wǎng)站推廣應(yīng)該怎么做?
  • 長(zhǎng)沙優(yōu)化官網(wǎng)公司滁州網(wǎng)站seo
  • 學(xué)院網(wǎng)站建設(shè)進(jìn)度情況說(shuō)明書(shū)seo自動(dòng)排名軟件