成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

PHP結合vue導出excel出現亂碼的解決方法分享

瀏覽:110日期:2022-06-06 17:34:19

在這之前我們先回顧以前用php導出excel,我直接寫成方法在這里:

public static function phpExcelList($field, $list, $title="文件",$file_time){$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();foreach ($list as $key => $value) {    foreach ($field as $k => $v) {if ($key == 0) {    $sheet->setCellValue($k . "1", $v[1]);}$i = $key + 2; //表格是從2開始的$sheet->setCellValue($k . $i, $value[$v[0]]);    }}ob_clean();header("Content-type:application/vnd.ms-excel;charset=UTF-8");header("Content-Type: application/vnd.ms-excel");header("Content-Disposition: attachment;filename="".$title.".csv"");header("Cache-Control: max-age=0");$writer = new Csv($spreadsheet);$writer->save("php://output");exit;    }

一般有設置charset基本在前端就沒啥問題,問題就在于vue導出時就出現亂碼了,有可能是這個,大多數網友的解決方案就是在請求里邊加上參數:responseType: 'blob', // 表明返回服務器返回的數據類型,但這里我已經提前申明返回的數據是正常的,這時候又會咋樣呢?

咱們試試用國產的wps打開吧:

咦?沒問題?再用office打開:啊哈》》?what?

那問題出在哪里呢?讀入的文件是utf-8格式,下載下來Excel打開亂碼,但是用其他編輯器打開并不是亂碼,一開始解決問題的思路是,下載文件的時候,是不是沒有指定編碼方式,導致文件編碼方式不對,于是乎使用了Blob里的type參數,硬塞了一個類型以及編碼方式,但是這種方法似乎并不管用,仔細讀了官方文檔之后,關于type的解讀如下:

type,默認值為 “”,它代表了將會被放入到blob中的數組內容的MIME類型。

這里明確表明,此type只是一個類型標記,并不會起到轉碼的作用,想想也是,blob僅僅是內存里開辟的0,1代碼,怎么可能在下載的過程中去解碼編碼呢?

發現這其實是微軟家的坑,微軟家發明了一個東西叫bom頭,關于bom頭:

類似WINDOWS自帶的記事本等軟件,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入UTF-8 BOM頭。記事本等編輯器通過它來識別這個文件是否以UTF-8編碼(當然即便沒有UTF-8 BOM頭記事本也能通過其它方式正確識別UTF-8編碼)。

那么如果一個UTF-8編碼的字符串的開頭處沒有BOM頭又會發生什么?答:不認識你,亂碼給你看

所以我們在這需要手動加一個微軟看得懂的BOM頭:

window.URL.createObjectURL(new Blob(['\uFEFF' + content]))

總的代碼示例如下,不懂可以直接抄:

this.$http.get(common.webapi+"/api/exportExcel",{params:{參數名稱:參數值}}, {emulateJSON:true,responseType: "blob"}).then((res)=>{      if(res.data){      const link = document.createElement("a");// 創建a標簽      let blob = new Blob(["\uFEFF" + res.data],{type: "application/vnd.ms-excel;"}); // 設置文件類型并在返回值前加bom頭,避免亂碼      link.style.display = "none";      link.href = URL.createObjectURL(blob); // 創建URL      link.setAttribute("download", "數據"+ this.$moment(new Date().getTime()).format("YYYY-MM-DD")+".csv");      document.body.appendChild(link);      link.click();      document.body.removeChild(link);      //如果不會出現亂碼,直接一句代碼搞定:this.$fileDownload(res.data, "發票數據"+ this.$moment(new Date().getTime()).format("YYYY-MM-DD")+".csv")     }     })

//如果不會出現亂碼,直接一句代碼搞定:this.$fileDownload(res.data, "數據"+ this.$moment(new Date().getTime()).format("YYYY-MM-DD")+'.csv'),接下來就是見證奇跡的時刻:

到此這篇關于PHP結合vue導出excel出現亂碼的解決方法分享的文章就介紹到這了,更多相關PHP導出excel出現亂碼內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲午夜羞羞片| 亚洲欧洲国产日本综合| 91精品国产欧美一区二区成人| 一本大道久久a久久精品综合| 先锋影音一区二区三区| 99热这里只有精品8| 亚洲国产婷婷| 国产欧美69| 亚洲欧美国产不卡| 亚洲尤物在线| 色综合久久88色综合天天6| 日韩av网站在线观看| 亚洲国产视频在线| 亚洲国产另类精品专区| 亚洲成人一区在线| 亚洲成在线观看| 日本亚洲视频在线| 久久99九九99精品| 国产高清成人在线| 成人蜜臀av电影| 色综合天天视频在线观看 | 亚洲成人中文在线| 日本亚洲三级在线| 韩国女主播一区二区三区| 国产电影精品久久禁18| www.欧美亚洲| 韩国久久久久| 免费在线一区二区| 欧美日韩国产在线观看| 欧美一区二区啪啪| 久久久久久久av麻豆果冻| 国产精品免费人成网站| 亚洲免费观看高清完整版在线| 亚洲va国产天堂va久久en| 日韩专区欧美专区| 国产综合久久久久久鬼色| eeuss影院一区二区三区| 欧美日韩国产综合网| 日韩一级网站| 在线观看视频欧美| 精品成人一区二区三区| 亚洲欧美日本在线| 日韩av中文在线观看| 国产成人精品午夜视频免费| 欧美.www| 国产麻豆综合| 在线播放亚洲一区| 国产日韩欧美精品电影三级在线 | 99re热精品| 欧美主播一区二区三区美女| 日韩美女天天操| 最新国产精品久久精品| 天天综合日日夜夜精品| 国产精品一区二区在线观看网站| 欧美福利一区| 男女精品视频| 日韩欧美资源站| 国产精品久久久久久久久搜平片| 亚洲电影一级片| 国产成人免费av在线| 精品999成人| 欧美性生活影院| 久久精品一级爱片| 亚洲电影激情视频网站| 国产精品自拍三区| 1024精品一区二区三区| 欧美色综合久久| 欧美国产精品专区| 理论电影国产精品| 国产精品视频一二三| 亚洲二区视频在线| 国产mv日韩mv欧美| 99视频精品| 欧美电影免费观看高清完整版| 亚洲特黄一级片| 国产精品一色哟哟哟| 91久久黄色| 欧美乱妇15p| 亚洲女爱视频在线| 国产高清视频一区| 国产亚洲亚洲| 精品精品国产高清一毛片一天堂| 一区二区三区精品| 成人免费观看男女羞羞视频| 性感少妇一区| 久久蜜桃av一区二区天堂| 首页欧美精品中文字幕| 欧美91视频| 欧美在线视频全部完| 国产精品久久久久永久免费观看| 韩国一区二区三区| 国产一区二区三区久久| 精品剧情在线观看| 日韩综合一区二区| 欧美涩涩视频| 欧美一区二区三区免费在线看 | 国产成人av一区二区三区在线观看| av成人黄色| 精品999久久久| 日韩高清电影一区| 亚洲午夜精品久久久久久app| 欧美久久久久久蜜桃| 亚洲一区在线播放| 色综合夜色一区| 欧美嫩在线观看| 亚洲国产日韩在线一区模特| 91玉足脚交白嫩脚丫在线播放| 欧美三区在线视频| 亚洲精品中文字幕在线观看| 91在线精品一区二区三区| 欧美日韩综合不卡| 亚洲一区二三区| 国产精品videosex极品| 日韩一本二本av| 久久成人免费网| 国产一区二区三区久久| 亚洲国产精品成人综合色在线婷婷| 国产中文一区二区三区| 久久久久久国产精品一区| 国产精品久久久久久久岛一牛影视 | 国内综合精品午夜久久资源| 欧美男人的天堂一二区| 亚洲大片免费看| 伊人久久大香线蕉av超碰演员| 日韩精品在线一区| 黑人巨大精品欧美黑白配亚洲| 鲁鲁狠狠狠7777一区二区| 国产精品久久久一本精品| 97久久精品人人做人人爽| 91精品免费在线| 蜜臀精品久久久久久蜜臀| 国产美女诱惑一区二区| √…a在线天堂一区| 国产精品地址| 久久精品一区二区三区av| 成人免费视频一区二区| 日韩一区二区视频| 国产一区二区在线电影| 在线观看一区二区视频| 亚洲成人激情自拍| 亚洲伊人网站| 亚洲福利国产精品| 国产农村妇女毛片精品久久莱园子| 国产精品久久久久久久久图文区 | 91网站在线播放| 精品日韩欧美一区二区| 国产成人综合在线观看| 7777精品伊人久久久大香线蕉超级流畅| 日本不卡123| 91官网在线观看| 日本不卡视频一二三区| 日本久久电影网| 日韩**一区毛片| 欧美性大战久久| 麻豆精品在线播放| 欧美三电影在线| 精东粉嫩av免费一区二区三区| 欧美亚洲动漫精品| 美国欧美日韩国产在线播放| 91黄色免费网站| 精品在线亚洲视频| 欧美电影一区二区| 大白屁股一区二区视频| 日韩欧美高清dvd碟片| a亚洲天堂av| 久久精品视频在线看| 欧美日韩精品久久| 国产精品伦理在线| 狠狠88综合久久久久综合网| 中文字幕日韩av资源站| 亚洲欧洲一二三| 亚洲成人免费视频| 久久性天堂网| 久久精品国产在热久久| 欧美高清视频在线高清观看mv色露露十八| 国产精品影音先锋| 日韩欧美视频在线| 91小视频免费看| 亚洲欧洲日产国产综合网| 国产精品一区二区欧美| 日韩电影一区二区三区| 欧美日本一区二区在线观看| 丁香天五香天堂综合| 久久婷婷一区二区三区| 好吊色欧美一区二区三区视频| 亚洲精品免费在线观看| 色国产综合视频| 国产黑丝在线一区二区三区| 久久综合久久久久88| 欧美三级网页| 一区二区免费看| 欧美中文字幕一区二区三区| 国产成人h网站| 国产日韩欧美a| 一区二区欧美日韩| 毛片av中文字幕一区二区| 精品久久久久久亚洲综合网 | 亚洲精品欧美二区三区中文字幕| 色婷婷国产精品综合在线观看| 国产精品一区二区久激情瑜伽|