2018-02-27--使用nodejs實現(xiàn)對瀏覽器上傳excel并解析數(shù)據(jù)的實現(xiàn)并且拼json上

這里最主要的地方就是enctype的參數(shù)要改成“multipart/form-data”辖源,另外 input輸入框的type類型要改為 file,前端頁面的主要配置就是上面代碼所示纵搁。

在app里面引入模塊

var formidable =require('formidable');

var ejsExcel=require('ejsexcel');

var fs=require('fs');

1.先用node有一個上傳文件夾uploud,也就是上傳了一個execl填好的表

2.解析數(shù)據(jù)execl數(shù)據(jù),拼接成json數(shù)據(jù)傳給后臺

3.用request請求后臺接口哈街,但是Authorization的憑證在公共方法里面寫著所以要用node存到cookieKey揣苏,然后取cookieKey

//使用fs將excel文件讀取到buffer中

app.use('/import',function(req, res, next) {

var form =new formidable.IncomingForm();

form.keepExtensions =true;

form.uploadDir = __dirname +'/../rlb/upload';

// form.encoding = 'utf-8';

// form.maxFieldsSize = 2 * 1024 * 1024;

? ? form.parse(req,function (err, fields, files) {

if (err) {

console.log('文件上傳錯誤悯嗓!');

return;

}

var path = files.import.path;

// var path = files.file.path;

? ? ? ? var arr =path.split('\\');

var name =arr[arr.length -1];

var url ="/upload/" +name;

//對excel文件進行解析讀取數(shù)據(jù)

? ? ? ? var list=[];

var isHouse=true;

var exBuf =fs.readFileSync(__dirname +url);

ejsExcel.getExcelArr(exBuf).then(exlJson => {

//使用getExcelArr函數(shù)讀取buffer后,得到的是excel工作表文件

? ? ? ? ? ? let workBook = exlJson;

//拿到工作表里面的第一個工作簿

? ? ? ? ? ? let workSheets =workBook[0];

workSheets.forEach((item, index) => {

console.log(item);

if(index==0){

if(item[0]=='熱力卡號'){

isHouse=true;

}else {

isHouse=false;

}

}

if (index!=0&&item.length!=0){

if(isHouse){

list.push({'userCardNumber':item[0],'userName':item[1],'phone':item[2],'companyName':item[3],'stationName':item[4],'villageName':item[5],'buildingNo':item[6],'unit':item[7],'floorNo':item[8],'roomNo':item[9],'useArea':item[10],'startDate':item[11],'netDate':item[12],'hotStatus':item[13],'flowUser':item[14],'meterNo':item[15],'userType':item[16],'historyMoney':item[17]});

}else {

list.push({'villageName':item[0],'pName':item[1],'cName':item[2],'aName':item[3],'address':item[4],'companyName':item[5],'stationName':item[6],'netArea':item[7],'buildingArea':item[8],'useArea':item[9],'lockingArea':item[10],'notArea':item[11],'buildingNo':item[12]});

}

}

});

// console.log(JSON.stringify(list));

? ? ? ? ? ? var urlEnd=isHouse==true?'importRoomInfo':'importVillage';

request({

url:'http://180.76.57.168:8767/api/'+urlEnd,

// url: 'http://192.168.1.104:8767/api/'+urlEnd,

? ? ? ? ? ? ? ? method:"POST",

json:true,

async:false,

headers: {

"content-type":"application/json",

"Authorization":req.cookies.cookieKey,

},

body:list

? ? ? ? ? ? },function(error, response, body) {

console.log(body);

if (!error && body.status ==200) {

}

});

res.render('house/houseInfo/house_list');

}).catch(error => {

console.log("************** had error!");

console.log(error);

});

});

});



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卸察,一起剝皮案震驚了整個濱河市脯厨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坑质,老刑警劉巖合武,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異涡扼,居然都是意外死亡稼跳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門吃沪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汤善,“玉大人,你說我怎么就攤上這事『斓” “怎么了不狮?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長在旱。 經(jīng)常有香客問我摇零,道長,這世上最難降的妖魔是什么桶蝎? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任驻仅,我火速辦了婚禮,結(jié)果婚禮上登渣,老公的妹妹穿的比我還像新娘噪服。我一直安慰自己,他們只是感情好绍豁,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布芯咧。 她就那樣靜靜地躺著,像睡著了一般竹揍。 火紅的嫁衣襯著肌膚如雪敬飒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天芬位,我揣著相機與錄音无拗,去河邊找鬼。 笑死昧碉,一個胖子當著我的面吹牛英染,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播被饿,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼四康,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了狭握?” 一聲冷哼從身側(cè)響起闪金,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎论颅,沒想到半個月后哎垦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡恃疯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年漏设,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片今妄。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡郑口,死狀恐怖鸳碧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情潘酗,我是刑警寧澤杆兵,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布雁仲,位于F島的核電站仔夺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏攒砖。R本人自食惡果不足惜缸兔,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吹艇。 院中可真熱鬧惰蜜,春花似錦、人聲如沸受神。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鼻听。三九已至财著,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間撑碴,已是汗流浹背撑教。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留醉拓,地道東北人伟姐。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像亿卤,于是被迫代替她去往敵國和親愤兵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容