- 浏览: 312196 次
文章分类
最新评论
-
一个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 1078PHP+MySQL来实现在线测试quiz功能 -
PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
2014-03-17 11:24 609/** * 作用:FTP操作类( 拷贝、移动、删除文件/创 ... -
重装系统后 Wamp里的数据库恢复
2013-10-10 10:53 1513转自:http://3dd.haotui.com/thre ... -
get_magic_quotes_gpc()
2013-05-14 16:23 371转自网络 在php的配置文件中,有个布尔值 ... -
php可编辑表格
2013-04-11 10:16 1940转自kongzimengsheng 编号 姓 ... -
Windows下使用VS2010编译PHP5.4
2013-04-03 13:31 1118转自: http://www.zhurouyoudu.co ... -
zend framework,,,,,
2013-03-22 15:07 719近几天看了看zf1 优点:数据处理、页面显示等 ... -
PHP 实现301转向代码
2013-03-20 10:06 832301转向定义(转自网络)301转向(或叫301重定 ... -
citymap
2013-03-08 17:32 652,,,,,,,, -
PHP 计算页面执行时间
2013-02-22 10:43 818$t = new executeTime; //phpi ... -
PHP攻击网站防御代码-以及攻击代码反译
2013-02-21 14:23 843<?php //查询禁止IP $ip = ... -
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
2013-02-21 14:18 863ip库,免更新。 淘宝IP库: http://ip.taob ... -
针对PHP的网站主要存在下面几种攻击方式:
2013-02-21 11:51 847针对PHP的网站主要存在下面几种攻击方式: 1、命令注入(Co ... -
AMFPHP
2013-01-09 13:57 785下载地址:http://sourceforge.net/pro ... -
,MySQL索引背后的数据结构及算法原理,
2013-01-08 10:19 983,MySQL索引背后的数据 ... -
PHP网站安装程序的制作
2012-12-28 10:28 5561.制作PHP安装程序的原理 其实PHP程序的安装原理无非就是 ... -
php_xdebug.dll
2012-12-27 17:20 44211111111111111 -
is_file file_exists的区别
2012-12-20 11:41 1078转自网络 is_file 判断文件是否存在并 ... -
让数据库变快的10个建议
2012-11-19 20:12 700转自:http://www.admin10000.com ... -
三种东西永远不要放到数据库里
2012-11-15 10:16 686http://www.admin10000.com/docum ...
相关推荐
本教程将深入探讨如何使用PHP导出Excel表格,并解决可能出现的乱码和保存问题。 首先,我们需要了解PHP如何生成Excel文件。最常用的方法是使用PHP的内置函数或第三方库。一个常见的库是PHPExcel,它可以创建、读取...
在PHP中下载Excel表格是一项常见的任务,特别是在web应用程序中,我们可能需要提供用户下载数据的选项,例如报表或导出数据库记录。这个场景下,PHP可以通过处理数组数据并将其转换为Excel格式来实现这一功能。以下...
在PHPCMS中,使用UTF-8编码可以确保在导出数据到Excel时,无论数据中包含何种语言,都能正确显示,避免了乱码问题。这在处理包含中文、日文、韩文等非英文字符的数据时尤其重要。 导出到Excel的功能通常基于PHP的...
本教程将专注于使用PHP生成带有图片的Excel文件,并解决文件保存后可能出现的乱码问题。我们将探讨如何利用PHP的第三方库来实现这一功能,以及处理过程中需要注意的关键点。 首先,PHP自身并不直接支持创建Excel...
下面我们将深入探讨如何使用PHPExcel库导出包含中文数据的Excel表格,并解决UTF-8编码的问题。 首先,要使用PHPExcel库,你需要先将其下载并引入到你的项目中。PHPExcel库通常包含多个类文件,这些文件提供了操作...
此库提供了读取和解析Excel表格数据的能力,使得开发者可以方便地在PHP中处理Excel数据。 ### 二、读取和解析Excel数据 #### 使用Spreadsheet_Excel_Reader类 在代码示例中,`Spreadsheet_Excel_Reader`类被实例...
当我们需要处理数据,比如从Excel表格中导入数据到数据库时,PHP提供了多种方法来实现这一功能。本篇文章将深入探讨如何使用PHP进行Excel表格数据的导入,并与数据库进行交互。 首先,我们要明白“导入Excel”通常...
在本文中,我们将深入探讨如何在CodeIgniter(CI)框架中使用PHPExcel库来导入Excel表格数据到数据库。CI框架是一款流行的PHP MVC(模型-视图-控制器)框架,而PHPExcel则是一个用于读取和写入Excel文件的强大的PHP...
这些文件通常以.php为扩展名,它们包含了实现数据导入功能的具体逻辑,包括读取Excel文件、解析数据、处理UTF8编码以及与不同数据库系统的交互等操作。开发者可能需要了解PHP编程,以便对代码进行自定义或调试。 在...
综上所述,实现“在页面中导入Excel文件并以表格显示”的功能,涉及到前端的文件上传、数据解析、表格渲染,以及可能的后端处理和跨浏览器兼容性优化。使用合适的工具库和遵循最佳实践,可以高效地完成这一任务。
1. PHP导出数据到Excel和CSV格式的实现方法: - 在PHP中,通过设置HTTP响应头,可以控制数据输出的格式,如导出到Excel或CSV文件。设置`Content-Type`为`application/vnd.ms-excel`可以实现导出为Excel文件,而`...
在IT行业中,处理数据时,Excel表格经常被用作数据交换和存储的工具。当我们需要在PHP中操作Excel文件,特别是在处理中文字符时,可能会遇到中文乱码的问题。此外,当数据量较大时,一次性读取和写入整个工作簿可能...
在PHP开发中,有时我们需要将数据导出为用户可下载的Excel或CSV文件,以便进行数据分析或存储。本文将详细讲解如何使用PHP实现这个功能,同时处理常见的编码问题,如UTF-8和GBK的转换。 首先,让我们了解Excel和CSV...
在PHP开发中,有时我们需要处理Excel文件,例如从Excel文件导入数据到数据库,或者将数据库中的数据导出到Excel文件。下面将详细讲解这两种操作的实现方法。 **一、将Excel导入数据库** 导入Excel到数据库的过程...
在开发过程中,需要注意文件编码问题,避免数据丢失或乱码。同时,对于大文件,还需要考虑性能优化,比如分块读写,避免一次性加载整个文件导致内存占用过高。 总结一下,"php 操作 Excel的函数库"涉及到的主要知识...
jQuery可以利用Data URI Scheme将表格数据编码为Base64字符串,然后在新的浏览器窗口中打开,这会被浏览器识别为Excel文件。这种方法简单但不适用于大量数据,因为URL长度有限制。 3. **服务器端处理** 在许多...
但是,如果数据包含中文字符,那么在导出时可能会遇到编码问题,导致生成的Excel文件中出现乱码,影响数据的阅读和使用。为了解决这一问题,本文将详细介绍几种常见的解决PHP导出Excel乱码问题的方法。 首先,要...
使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响)直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。sae...
本文主要介绍了如何使用PHP自定义函数将数据以Excel表格的形式导出,并结合实例详细分析了PHP操作二维数组的遍历与Excel格式输出的相关实现技巧。在编写函数时,首先要确保能够设置正确的内容类型响应头(Content-...