- 浏览: 300169 次
文章分类
最新评论
-
一个ID的距离:
我了个擦~高端大气上档次啊~
js生成玫瑰花 源代码 -
abc382410124:
尝试使用开源的免费的编辑器了,学习了
Notepad++ 插件之 TextFX (安装及作用)
转自网络
PHP导出Excel文件时有两个主要的过程:
1、定义文件名
2、填充Excel数据
这两个过程中可能会出现一些PHP导出Excel乱码问题,下面我来说一下解决办法:
解决文件名的PHP导出Excel乱码:
乱码原因:客户使用的中文版Windows系统平台,而Windows平台的文件名编码为gb2312(gbk),而我们网页编码为了跟进现存潮流一般都采用utf-8(国际化)编码,这时当我们:header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"")时就会出现乱码,假如你的网页编码就是gb2312那就不用考虑编码问题了。
解决办法:对$filename转码,执行:iconv('utf-8", "gb2312", $filename)。假如你的环境不支持iconv函数可以换别的函数,只要能将$filename的编码转为gbk就行。
但是这样问题又会来了,linux用户又会出现文件名乱码(因为linux平台文件名不是gbk编码)。
考虑到这个问题我采用两个办法:第一:放弃一部分客户,毕竟windows系统用户占绝大部分。第二:像gmail一样,提供两个下载地址。一个文件名gbk编码,一个文件名utf-8编码。
解决Excel内数据的PHP导出Excel乱码:
PHP导出Excel乱码原因:网页编码与Excel编码不一致。
解决办法:既然编码不一致,那让其一致了就OK了。定义Excel的字符集:header("Content-Type: application/vnd.ms-excel; charset=UTF-8"),看到charset=UTF-8了吧,让其与您网页编码一致即可解决Excel内数据乱码的问题了,这个比较简单!
经过简单测试 可用
第一种方式:
第二种方式:
PHP导出Excel文件时有两个主要的过程:
1、定义文件名
2、填充Excel数据
这两个过程中可能会出现一些PHP导出Excel乱码问题,下面我来说一下解决办法:
解决文件名的PHP导出Excel乱码:
乱码原因:客户使用的中文版Windows系统平台,而Windows平台的文件名编码为gb2312(gbk),而我们网页编码为了跟进现存潮流一般都采用utf-8(国际化)编码,这时当我们:header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"")时就会出现乱码,假如你的网页编码就是gb2312那就不用考虑编码问题了。
解决办法:对$filename转码,执行:iconv('utf-8", "gb2312", $filename)。假如你的环境不支持iconv函数可以换别的函数,只要能将$filename的编码转为gbk就行。
但是这样问题又会来了,linux用户又会出现文件名乱码(因为linux平台文件名不是gbk编码)。
考虑到这个问题我采用两个办法:第一:放弃一部分客户,毕竟windows系统用户占绝大部分。第二:像gmail一样,提供两个下载地址。一个文件名gbk编码,一个文件名utf-8编码。
解决Excel内数据的PHP导出Excel乱码:
PHP导出Excel乱码原因:网页编码与Excel编码不一致。
解决办法:既然编码不一致,那让其一致了就OK了。定义Excel的字符集:header("Content-Type: application/vnd.ms-excel; charset=UTF-8"),看到charset=UTF-8了吧,让其与您网页编码一致即可解决Excel内数据乱码的问题了,这个比较简单!
经过简单测试 可用
第一种方式:
<?php $DB_Server = "localhost"; $DB_Username = "username"; //用户名 $DB_Password = "password"; //用户密码 $DB_DBName = "dbname"; //数据库名 $DB_TBLName = "tablename"; //表名 $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect."); mysql_query('set names utf8'); //最好添加此处 否则汉字会乱码 $sql = "Select * from $DB_TBLName"; $ALT_Db = @mysql_select_db($DB_DBName, $Connect)or die("Couldn't select database"); $result = @mysql_query($sql,$Connect) or die(mysql_error()); $now_date = date('Y-m-d H:i'); $file_type = "vnd.ms-excel"; $file_ending = "xls"; header("Content-Type: application/$file_type"); header("Content-Disposition: attachment; filename=$now_date.$file_ending"); header("Pragma: no-cache"); header("Expires: 0"); $now_date = date('Y-m-d H:i'); $title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date"; echo("$title\n"); $sep = "\t"; for ($i = 0; $i < mysql_num_fields($result); $i++) { echo mysql_field_name($result,$i) . "\t"; //列名 字段名 } print("\n"); $i = 0; while($row = mysql_fetch_row($result)){ $schema_insert = ""; for($j=0; $j<mysql_num_fields($result);$j++){ if(!isset($row[$j])) $schema_insert .= "NULL".$sep; elseif ($row[$j] != "") $schema_insert .= "$row[$j]".$sep; else $schema_insert .= "".$sep; } $schema_insert = str_replace($sep."$", "", $schema_insert); $schema_insert .= "\t"; print(trim($schema_insert)); print "\n"; $i++; } return (true); ?>
第二种方式:
function down_list() { if (!isset($_COOKIE['sys'])) { header("Location: admin.php"); } $user = new user(); $db = new mysql_db(); $userinfos = $user->query_users_sum($db); header("Content-type:application/vnd.ms-excel; charset=UTF-8"); // 打印出的字符编码 根据表内容的编码 header("Content-Disposition:filename=" . time() . ".xls"); $result =" <table width='100%' height='21' border='0' align='center'>"; $result.=" <tr align='center' style='border:1'> <td>id</td> <td>姓名</td> <td>电话</td> <td>QQ</td> <td>报名时间</td> </tr>"; foreach ($userinfos as $value) { $result.="<tr>"; $result.="<td>" . $value['id'] . "</td>"; $result.="<td>" . $value['name'] . "</td>"; $result.="<td>" . DES1::decrypt($this->key, $value['iphone']) . "</td>"; $result.="<td>" . $value['qq'] . "</td>"; $result.="<td>" . $value["creat_date"] . "</td>"; $result.="</tr>"; } $result.="</table>"; echo $result; exit; }
- excel.zip (2.8 KB)
- 下载次数: 0
发表评论
-
PHP+MySQL来实现在线测试quiz功能
2015-05-21 16:13 1012PHP+MySQL来实现在线测试quiz功能 -
PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
2014-03-17 11:24 571/** * 作用:FTP操作类( 拷贝、移动、删除文件/创 ... -
重装系统后 Wamp里的数据库恢复
2013-10-10 10:53 1468转自:http://3dd.haotui.com/thre ... -
get_magic_quotes_gpc()
2013-05-14 16:23 341转自网络 在php的配置文件中,有个布尔值 ... -
php可编辑表格
2013-04-11 10:16 1905转自kongzimengsheng 编号 姓 ... -
Windows下使用VS2010编译PHP5.4
2013-04-03 13:31 1088转自: http://www.zhurouyoudu.co ... -
zend framework,,,,,
2013-03-22 15:07 664近几天看了看zf1 优点:数据处理、页面显示等 ... -
PHP 实现301转向代码
2013-03-20 10:06 800301转向定义(转自网络)301转向(或叫301重定 ... -
citymap
2013-03-08 17:32 628,,,,,,,, -
PHP 计算页面执行时间
2013-02-22 10:43 791$t = new executeTime; //phpi ... -
PHP攻击网站防御代码-以及攻击代码反译
2013-02-21 14:23 812<?php //查询禁止IP $ip = ... -
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
2013-02-21 14:18 829ip库,免更新。 淘宝IP库: http://ip.taob ... -
针对PHP的网站主要存在下面几种攻击方式:
2013-02-21 11:51 811针对PHP的网站主要存在下面几种攻击方式: 1、命令注入(Co ... -
AMFPHP
2013-01-09 13:57 756下载地址:http://sourceforge.net/pro ... -
,MySQL索引背后的数据结构及算法原理,
2013-01-08 10:19 956,MySQL索引背后的数据 ... -
PHP网站安装程序的制作
2012-12-28 10:28 5341.制作PHP安装程序的原理 其实PHP程序的安装原理无非就是 ... -
php_xdebug.dll
2012-12-27 17:20 39911111111111111 -
is_file file_exists的区别
2012-12-20 11:41 1047转自网络 is_file 判断文件是否存在并 ... -
让数据库变快的10个建议
2012-11-19 20:12 675转自:http://www.admin10000.com ... -
三种东西永远不要放到数据库里
2012-11-15 10:16 652http://www.admin10000.com/docum ...
相关推荐
PHP导出Excel ,已修正保存到本地不能打开已经乱码的问题,具体内容可参照文件中demo.php有详细说明。(注:无法导出图)——
php下载excel表,自己任意从数据库调用数组,生成数组,文件名可以自由更改,测试中文无乱码。
PHP导出Excel (注:导出带图片的EXCEL也支持),已修正保存到本地不能打开已经乱码的问题,具体内容可参照文件中demo.php有详细说明。
使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响)直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。sae...
设置编码:$excel->setEncode("utf-8","gb2312"); //如果不转码,参数写一样即可,例如$excel->setEncode("utf-8","utf-8");设置标题栏$titlearr=array("a","b","c","d");设置内容栏$contentarr=array(1=>array("ab...
直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 sae直接上传代码包即可和演示一样的效果,让你可以免费实现查询系统 ...
直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 目前尚未兼容linux系统,所以大家请用windows系统的PHP环境使用。 PHP excel通用成绩查询系统软件介绍 1.非常通用。无论你Excel/Wps二维表...
本篇文章是对PHP导出Excel乱码问题的解决方法就行了详细的分析介绍,需要的朋友参考下
它旨在输出(Office 2007+)xlsx格式的Excel兼容电子表格,仅支持基本功能: 支持PHP 5.2.1+ 采用UTF-8编码的输入 多个工作表 支持货币/日期/数字单元格格式,简单的公式 支持基本的单元样式 支持编写超过10万行...
它设计为使用(Office 2007 )xlsx 格式输出 Excel 电子表格,只支持基本功能:支持 PHP 5.2.1 采用 UTF-8 编码输入多个工作表支持货币/日期/数字单元格格式以及简单公式示例代码简单的 PHP CLI 示例:$data = ...
它旨在输出(Office 2007+)xlsx格式的Excel兼容电子表格,仅支持基本功能:支持PHP 5.2.1+接受UTF-8编码的输入多个工作表支持货币/日期/数字单元格格式,支持简单的公式基本的单元样式支持编写大量的100K +行电子...
让你短时间内由一名菜鸟到高手绝对没问题! 由于权限有限,分3部份下载 PHP程序开发范例宝典 内容提要 《PHP程序开发范例宝典》全面介绍了应用PHP进行网站开发的各种技术和技巧。《PHP程序开发范例宝典》分为20章...
软件介绍 (第47讲) PHP输出CSV和EXCEL两种简单的方法 1、定义 header()头部输出格式 header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=php100.xls"); 2、输出编码和...
直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 sae直接上传代码包即可和演示一样的效果,让你可以免费实现查询系统 ...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
(第47讲) PHP输出CSV和EXCEL两种简单的方法1、定义 header()头部输出格式header("Content-typefilename=php100.xls");2、输出编码和支持的格式(1)支持普通格式的CSV 文本规范,以空格和换行来识别(2)支持简单...
提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现表格报表、动态报表、多层表头、票据套打、交叉表、统计图表、表中表及各种特殊报表等,是中式报表的最佳开发...
主要给大家介绍了关于php中通用的excel导出方法的相关资料,通过文中介绍的方法对大家学习或者使用php具有一定的参考学学习价值,需要的朋友们下面随着小编来一起学习学习吧。