本文是單純用前端實現匯入匯出excel的功能。
說明:1、匯入要求匯入的資料是文字格式。
2、匯出是匯出json資料到excel檔案
**如下:
1、通過以下命令列安裝js-xlsx,在dist中複製出xlsx.full.min.js引入到頁面中 。
cnpm install xlsx
2、封裝的js**如下:
/* 讀取部分的操作start */
/*filereader共有4種讀取方法:
1.readasarraybuffer(file):將檔案讀取為arraybuffer。
2.readasbinarystring(file):將檔案讀取為二進位制字串
3.readasdataurl(file):將檔案讀取為data url
4.readastext(file, [encoding]):將檔案讀取為文字,encoding預設值為'utf-8'*/
var wb;//讀取完成的資料
var rabs = false; //是否將檔案讀取為二進位制字串
//檔案流轉binarystring
function fixdata(data)
//匯入
function importfun(obj,callback)
var f = obj.files[0];
var reader = new filereader();
reader.onload = function(e) );
} else );
}是獲取sheets中第乙個sheet的名字
名]獲取第乙個sheet的資料
callback(xlsx.utils.sheet_to_json(wb.sheets[wb.sheetnames[0]]))
};if(rabs) else
}/* 讀取部分的操作end */
/* 匯出部分的操作start */
var tmpdown; //匯出的二進位制物件
function downloadexl(obj,json,callback,type) );
var keymap = ; //獲取keys
//keymap =object.keys(json[0]);
for (var k in tmpdata)
var tmpdata = ;//用來儲存轉換好的json
json.map((v, i) => keymap.map((k, j) => object.assign({}, ))).reduce((prev, next) => prev.concat(next)).foreach((v, i) => tmpdata[v.position] = );
var outputpos = object.keys(tmpdata); //設定區域,比如**從a1到d10
var tmpwb = ,
tmpdata, //內容)}
};tmpdown = new blob([s2ab(xlsx.write(tmpwb,
//這裡的資料是用來定義匯出的格式型別
))], ); //建立二進位制物件寫入轉換好的位元組流
var href = url.createobjecturl(tmpdown); //建立物件超連結
obj.dom.href = href; //繫結a標籤
callback();
settimeout(function() , 100);
}//字串轉字元流
function s2ab(s)
// 將指定的自然數轉換為26進製表示。對映關係:[0-25] -> [a-z]。
function getcharcol(n)
return s
}/* 匯出部分的操作end */
/* 這是匯入匯出公用的方法 */
// 將最後返回的資料按照自己定義的字段進行格式化
function formatfun(res,obj,callback) {
var result = ;// 將返回的結果經過格式化後返回
for(var i=0;i3、html**如下:
匯出
4、匯入的excel的資料格式如下圖:
JAVA實現Excel匯入匯出
建立工程匯入jar包 jxl建立excel檔案 author c public class jxlexpexcel 建立excel檔案 file file new file jxl test.xls try 追加資料 for int i 1 i 10 i 寫入資料 workbook.write wo...
NPOI實現 Excel匯入匯出
實現物件集合寫入到excel和excel資料讀出到物件集合的功能 自定義列屬性 public class columnattribute attribute public columnattribute string columnname 時間格式 public class datetimeform...
Vue結合後台詳解匯入匯出Excel問題
vue完整前後臺專案介紹 最近vue專案中用到了匯入匯出功能,在網上搜尋了一番之後,決定採用blob方式,這也是大家推薦的一種的方式,特此做下記錄。匯出excel功能 這裡不談別人怎麼實現的,我是從後台生成了excel流檔案返回給前端的。下面具體看一下後台的 批量匯出使用者 使用者列表 respon...