做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript導出csv文件(excel)的方法示例

來源:懂視網 責編:小采 時間:2020-11-27 21:51:50
文檔

javascript導出csv文件(excel)的方法示例

javascript導出csv文件(excel)的方法示例:這里貼出JavaScript導出csv文件(excel)的代碼。 /** * 導出excel * @param {Object} title 標題列key-val * @param {Object} data 值列key-val * @param {Object} fileName 文件名稱 */ function JSONToExc
推薦度:
導讀javascript導出csv文件(excel)的方法示例:這里貼出JavaScript導出csv文件(excel)的代碼。 /** * 導出excel * @param {Object} title 標題列key-val * @param {Object} data 值列key-val * @param {Object} fileName 文件名稱 */ function JSONToExc

這里貼出JavaScript導出csv文件(excel)的代碼。

/**
 * 導出excel
 * @param {Object} title 標題列key-val
 * @param {Object} data 值列key-val
 * @param {Object} fileName 文件名稱
 */
function JSONToExcelConvertor(title, data, fileName) {
 var CSV = '';
 var row = "";

 for (var i = 0; i < title.length; i++) {
 if(title[i].title){
 row += title[i].title + ',';
 }
 }
 row = row.slice(0, -1);
 CSV += row + '\r\n';

 for (var i = 0; i < data.length; i++) {
 var row = "";
 for (var j = 0; j < title.length; j++) {
 if(title[j].title){
 row += '"' + (data[i][title[j].field] ? data[i][title[j].field] : "") + '"\t,';
 }
 }
 row.slice(0, row.length - 1);
 CSV += row + '\r\n';
 }

 if (CSV == '') {
 alert("Invalid data");
 return;
 }

 var fileName = fileName;
 var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURI(CSV);
 var link = document.createElement("a");
 link.href = uri;

 link.style = "visibility:hidden";
 link.download = fileName + ".csv";
 document.body.appendChild(link);
 link.click();
 document.body.removeChild(link);
}

上面的寫法,如果excel中的數據太多,就會導致無法導出的結果,原因是瀏覽器對URL的長度有限制,因此要使用Blob對象和window.URL.createObjectURL()方法做一下改造。

window.URL.createObjectURL()方法可以直接生成blob:開頭的鏈接,該鏈接產生于瀏覽器端,不會占用服務器資源。

/**
 * 導出excel
 * @param {Object} title 標題列key-val
 * @param {Object} data 值列key-val
 * @param {Object} fileName 文件名稱
 */
function JSONToExcelConvertor(title, data, fileName) {
 var CSV = '';
 var row = "";

 for (var i = 0; i < title.length; i++) {
 if(title[i].title){
 row += title[i].title + ',';
 }
 }
 row = row.slice(0, -1);
 CSV += row + '\r\n';

 for (var i = 0; i < data.length; i++) {
 var row = "";
 for (var j = 0; j < title.length; j++) {
 if(title[j].title){
 row += '"' + (data[i][title[j].field] ? data[i][title[j].field] : "") + '"\t,';
 }
 }
 row.slice(0, row.length - 1);
 CSV += row + '\r\n';
 }

 if (CSV == '') {
 alert("Invalid data");
 return;
 }

 var fileName = fileName;
 var uri = new Blob(['\ufeff' + CSV], {type:"text/csv"});
 var link = document.createElement("a");
 link.href = URL.createObjectURL(uri);

 link.style = "visibility:hidden";
 link.download = fileName + ".csv";
 document.body.appendChild(link);
 link.click();
 document.body.removeChild(link);
}

然而,雖然window.URL.createObjectURL()方法在IE10、 IE11以及Microsoft Edge中能生成的blob:鏈接,但是卻不能把它加到一個<a>節點上,也不能直接在瀏覽器地址欄打開訪問,否則會得到【SCRIPT5:拒絕訪問。】錯誤。甚至,IE9根本不支持調用window.URL.createObjectURL()方法創建Blob URLs。

Microsoft Internet Explorer / Microsoft Edge和高大上的Google Chrome / Mozilla Firefox對于window.URL.createObjectURL()方法創建Blob鏈接最直觀的區別在于得到的blob:鏈接形式不一樣,分別在微軟瀏覽器和標準瀏覽器中運行new Blob()代碼,會得到兩種Blob鏈接形式,第一種為chrome和firefox生成的帶有當前域名的標準blob:鏈接形式,第二種為Microsoft IE和Microsoft Edge生成的不帶域名的blob:鏈接。那么我們就可以通過window.URL.createObjectURL(new Blob()) . indexOf(location.host) < 0表達式來檢測是否是IE或早期生成Object URL不帶域名的Edge,如果表達式返回true則是IE或Edge舊版本。

事實上,Blob URL不被支持是出于IE瀏覽器對安全性的考慮(IE瀏覽器真安全啊,牛逼),然后它自己提供了一套API用來創建或下載Blob文件:msSaveOrOpenBlob。

/**
 * 導出excel
 * @param {Object} title 標題列key-val
 * @param {Object} data 值列key-val
 * @param {Object} fileName 文件名稱
 */
function JSONToExcelConvertor(title, data, fileName) {
 var CSV = '';
 var row = "";

 for (var i = 0; i < title.length; i++) {
 if(title[i].title){
 row += title[i].title + ',';
 }
 }
 row = row.slice(0, -1);
 CSV += row + '\r\n';

 for (var i = 0; i < data.length; i++) {
 var row = "";
 for (var j = 0; j < title.length; j++) {
 if(title[j].title){
 row += '"' + (data[i][title[j].field] ? data[i][title[j].field] : "") + '"\t,';
 }
 }
 row.slice(0, row.length - 1);
 CSV += row + '\r\n';
 }

 if (CSV == '') {
 alert("Invalid data");
 return;
 }

 var fileName = fileName;
 var uri = new Blob(['\ufeff' + CSV], {type:"text/csv"});

 if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE
 window.navigator.msSaveOrOpenBlob(CSV, fileName + ".csv");
 } else { // for Non-IE(chrome、firefox etc.)
 var link = document.createElement("a");
 link.href = URL.createObjectURL(uri);

 link.style = "visibility:hidden";
 link.download = fileName + ".csv";
 document.body.appendChild(link);
 link.click();
 document.body.removeChild(link);
 }
}

因此就得出上面最終的代碼。

總結

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript導出csv文件(excel)的方法示例

javascript導出csv文件(excel)的方法示例:這里貼出JavaScript導出csv文件(excel)的代碼。 /** * 導出excel * @param {Object} title 標題列key-val * @param {Object} data 值列key-val * @param {Object} fileName 文件名稱 */ function JSONToExc
推薦度:
標簽: 生成 excel 辦法
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 隆尧县| 红桥区| 中阳县| 甘泉县| 内乡县| 江达县| 留坝县| 达州市| 丹寨县| 当涂县| 龙江县| 桐乡市| 莱阳市| 封开县| 岳池县| 张掖市| 平湖市| 江北区| 永州市| 峨眉山市| 无极县| 永年县| 南开区| 岑巩县| 云阳县| 冷水江市| 贺兰县| 华安县| 姚安县| 苗栗县| 洪雅县| 惠水县| 合肥市| 和龙市| 龙陵县| 额敏县| 泾阳县| 灵石县| 岳西县| 阳高县| 临沧市|