一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 基于PHP導出Excel的小經(jīng)驗 完美解決亂碼問題

基于PHP導出Excel的小經(jīng)驗 完美解決亂碼問題

2020-04-12 15:43PHP教程網(wǎng) PHP教程

本篇文章是對PHP導出Excel亂碼問題的解決方法就行了詳細的分析介紹,需要的朋友參考下

我在PHP項目里要求把數(shù)據(jù)導出為Excel,并且數(shù)據(jù)中包含中文.
網(wǎng)上大概了解一下可是使用PHPExcel,可是相對我的需求,這個框架太復雜了.于是還是想找找簡單做法.
網(wǎng)上發(fā)現(xiàn)其實最簡單可以這樣寫,但問題是這種做法中文的編碼不可靠..

復制代碼 代碼如下:


<?php
 header("Content-type:application/vnd.ms-excel");
 header("Content-Disposition:attachment;filename=export_data.xls");
 echo   "姓名"."\t"; 
 echo   "繁體"."\t"; 
 echo   "博客"."\t"; 
 echo   "\n"; 
 echo   "jason"."\t"; 
 echo   "@"."\t"; 
 echo   "javaeye"."\t"; 
 ?>


有些同學會想到header加入字符集

復制代碼 代碼如下:


header("Content-type:application/vnd.ms-excel;charset=UTF-8");


問題: 這里只是告訴瀏覽器要選什么字符集查看,最終我的需求還是要生成xls文件.
當然.有些同學還會想到用iconv轉(zhuǎn)碼.

復制代碼 代碼如下:


echo iconv("當前編碼","GB18030","此博客來源于javaeye,by jason");


問題: 這樣文件里的漢字編碼就GB18030,可是Excel這么知道用什么編碼打開呢?只能完全依賴OS默認.可是如果碰到繁體BIG5這么辦,還是會亂碼. 所以還是不靠譜.
最后我采用phpMyAdmin的做法.用HTMLExcel, HTML我們比較熟悉,格式如下.

復制代碼 代碼如下:


<html xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns="http://www.w3.org/TR/REC-html40">
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html>
     <head>
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
         <style id="Classeur1_16681_Styles"></style>
     </head>
     <body>
         <div id="Classeur1_16681" align=center x:publishsource="Excel">
             <table x:str border=0 cellpadding=0 cellspacing=0 width=100% style="border-collapse: collapse">
                 <tr><td class=xl2216681 nowrap>1234</td><td class=xl2216681 nowrap>Robbin會吐口水</td></tr>
                <tr><td class=xl2216681 nowrap>5678</td><td class=xl2216681 nowrap>javaeye網(wǎng)站</td></tr>
             </table>
         </div>
     </body>
 </html>


這下可以直接echo了,又不需要iconv轉(zhuǎn)碼,只要設置好HTML里的Content-type(這里用的是UTF-8),是不是有舒服的感覺呢? 當然header還是要加上

復制代碼 代碼如下:


header("Content-type:application/vnd.ms-excel");
 header("Content-Disposition:attachment;filename=export_data.xls");


一點小經(jīng)驗和各位同學分享一下..

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爱爱亚洲 | 4444www免费看| 免费观看全集 | 国产精品成人免费 | 我的妹妹最近有点怪在线观看 | 日本人妖视频 | 奇米白色 | 亚洲天堂色视频 | 四虎永久视频 | jux629三浦理惠子在线播放 | 亚洲精品久久久992KVTV | 久久视频这里只精品99热在线观看 | 亚欧洲乱码专区视频 | 亚洲欧美国产另类 | 暖暖免费高清完整版观看日本 | 全肉一女n男np高h双龙养成 | 亚洲不卡视频在线观看 | 四川女人偷人真实视频 | 日本免费精品 | 天天摸天天爽视频69视频 | 免费被黄网站在观看 | 国产视频福利 | 91麻豆在线观看 | 放荡护士玩3p口述 | 爱情岛论坛亚洲永久入口口 | 黑人巨鞭大战白妞10级 | 下雨天小说词枝 | 免费一级毛片在线播放 | 欧美整片在线 | 欧美做受| 国产精品久久久久久久牛牛 | 撕开老师的丝袜白丝扒开粉嫩的小 | 草榴色导航 | 亚洲人和日本人hd | 亚洲欧洲日产国码 最新 | tk白丝丨vk | 掀开奶罩边躁狠狠躁软学生 | 欧美大片一级片 | 我和老丈洗澡同性 | 男人插女人软件 | 成年私人影院免费视频网站 |