Home > Backend Development > PHP Tutorial > A little experience in exporting Excel based on PHP to perfectly solve the problem of garbled characters_PHP tutorial

A little experience in exporting Excel based on PHP to perfectly solve the problem of garbled characters_PHP tutorial

WBOY
Release: 2016-07-21 15:06:55
Original
917 people have browsed it

In my PHP project, I require the data to be exported to Excel, and the data contains Chinese.
I briefly learned about using PHPExcel online, but compared to my needs, this framework is too complicated. So I still want to find a simple method.
I found on the Internet that it is easiest to write like this, but the problem is that the Chinese encoding of this method is unreliable..

Copy the code The code is as follows:

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=export_data.xls");
echo "Name"."t";
echo "Traditional"."t";
echo "Blog"."t";
echo "n";
echo "jason "."t";
echo "@"."t";
echo "javaeye"."t";
?>

Some students will think of header Add character set
Copy code The code is as follows:

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

Question: This just tells the browser what character set to choose for viewing. In the end, my requirement is to generate an xls file.
Of course. Some students will also think of using iconv to transcode.
Copy the code The code is as follows:

echo iconv("current encoding","GB18030","this blog comes from javaeye, by jason");

Question: The encoding of Chinese characters in such a file Just GB18030, but Excel knows what encoding to use to open it? It can only rely entirely on the OS default. But if you do this with traditional BIG5, it will still be garbled. So it is still unreliable.
In the end, I used phpMyAdmin Method. Use HTMLExcel, we are familiar with HTML, the format is as follows.
Copy the code The code is as follows:

xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org /TR/REC-html40">



/>
                                                                      center x:publishsource="Excel">
                                                               ;td class=xl2216681 nowrap>1234Robbin will spit 81 nowrap>5678< ;/td>javaeye website
🎜 >


Now you can echo directly without iconv transcoding. Just set the Content-type in HTML (UTF-8 is used here), right? Does it feel comfortable? Of course, the header still needs to be added



Copy code

The code is as follows:


header("Content-type :application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=export_data.xls");
I would like to share a little experience with you classmates..

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327583.htmlTechArticleI require the data to be exported to Excel in the PHP project, and the data contains Chinese. I can get a rough idea online but use PHPExcel, but compared to my needs, this framework is too complicated. So...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template