欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

使用koa怎么上傳excel文件并解析-創(chuàng)新互聯(lián)

使用koa怎么上傳excel文件并解析?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)是專業(yè)的同德網站建設公司,同德接單;提供做網站、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行同德網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

1.中間鍵使用 koa-body

npm install koa-body --save
const koaBody = require('koa-body');

app.use(koaBody({
 multipart: true,
 formidable: {
  maxFileSize: 200 * 1024 * 1024 // 設置上傳文件大小大限制,默認2M
 }
}));

2.書寫路由,croller書寫方法

uploadData.js

const errorResult = require('../utils/errorResult.js');
const uploadExcelSrv = require('../service/uploadExcelSrv');

const saveData = async function (ctx, next) {

 const getRes = await uploadExcelSrv.getExcelObjs(ctx);
 if (getRes.status) {
  if (getRes.datas.length > 1) {
   errorResult.errorRes(ctx, '暫時不支持多個sheet存在');
  } else { //得到的是數(shù)組
   const objs = getRes.datas[0];
   ctx.body = {
    status: true,
    msg: '上傳數(shù)據成功'
   };
  }
 } else {
  errorResult.errorRes(ctx, getRes.msg);
 }
 await next();
};
module.exports = {
 saveData
};

3.處理excel存儲,解析,處理excel用的庫是 xlsx

npm install xlsx --save

uploadExcelSrv.js

//接收上傳的excel文件,保存解析返回objects
const xlsx = require('xlsx');
const fs = require('fs');
const path = require('path');
const downPath = path.resolve(__dirname, '../../fileUpload');

async function getExcelObjs (ctx) {
 const file = ctx.request.files.file; // 獲取上傳文件
 const reader = fs.createReadStream(file.path); // 創(chuàng)建可讀流
 const ext = file.name.split('.').pop(); // 獲取上傳文件擴展名
 const filePath = `${downPath}/${Math.random().toString()}.${ext}`;

 const upStream = fs.createWriteStream(filePath); // 創(chuàng)建可寫流
 const getRes = await getFile(reader, upStream); //等待數(shù)據存儲完成

 const datas = []; //可能存在多個sheet的情況
 if (!getRes) { //沒有問題
  const workbook = xlsx.readFile(filePath);
  const sheetNames = workbook.SheetNames; // 返回 ['sheet1', ...]
  for (const sheetName of sheetNames) {
   const worksheet = workbook.Sheets[sheetName];
   const data = xlsx.utils.sheet_to_json(worksheet);
   datas.push(data);
  }
  return {
   status: true,
   datas
  };
 } else {
  return {
   status: false,
   msg: '上傳文件錯誤'
  };
 }
}

function getFile (reader, upStream) {
 return new Promise(function (result) {
  let stream = reader.pipe(upStream); // 可讀流通過管道寫入可寫流
  stream.on('finish', function (err) {
   result(err);
  });
 });
}
module.exports = {
 getExcelObjs
};

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)成都網站設計公司的支持。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享名稱:使用koa怎么上傳excel文件并解析-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article14/cdpdge.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網站制作網站導航、定制開發(fā)、外貿建站、品牌網站設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站建設
精品人妻一区二区三区乱码| 日韩一区二区三精品| 中文字幕国产精品经典三级| 久久久久久亚洲av黄床| 精品中文字幕欧美区一区| 国产精品99久久久久久| 亚洲巨大黑人一区二区三区| 亚洲男人天堂中文字幕| 亚洲最大成人综合福利网| 91亚洲精品久久久蜜桃网站| 97水蜜桃视频在线观看| 91九色在线视频观看| 日韩欧美人妻中文字幕| 国产伦理自拍视频在线观看| 蜜臀99久久精品久久久| 日韩av一区二区在线| 中文字幕日韩av综合在线| 亚洲国际精品女人乱码| 日本国产精品久久一线| 国产亚洲欧美日韩网站| 欧美日本一区二区四区| 扒开女性毛茸茸的视频| 国产一区二区91精品| 91精品国产欧美在线| 欧美性生活之欧美日韩| 日本亚洲中文字幕无吗| 正在播放蜜臀av在线| 亚洲免费一区二区三区四区| 日韩免费色视频一区| 国产亚洲精品视频二区| 久久精品有码视频免费观看| 亚洲精品国产第一区第二区| 亚洲精品污一区二区三区| 欧美a级黄片免费在线观看| 日韩黄色成人免费片子| 国产超大超粗超爽视频| 内射嫩国产欧美国产日韩欧美| 欧美精品三级不卡在线| 亚洲国产专区一区二区麻豆| 久久亚洲综合精品少妇| 亚洲精品一区久久狠狠欧美|