十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
?php
成都创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都棕树机房,成都棕树机房,成都多线服务器托管等服务器托管服务。
//需求:用php将mysql数据导入到excel中
//数据库配置信息
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "admin";
$DB_DBName = "shop";
$DB_TBLName = "sdb_widgets_set";
$savename = date("Y-m-j H:i:s");
// 数据库连接
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
//注意mysql 导入cxcel中的时候
mysql_query("Set Names 'gbk'");
//定义文件导出的格式
$file_type = "vnd.ms-excel";
//定义文件后缀名称
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=gbk");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");
$now_date = date("Y-m-j H:i:s");
//定义要输出的数据表标题
$title = "数据表名:$DB_TBLName, | 日期:$now_date";
$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());
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;
else if ($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);
?
php 把数据导出到excel表格有多种方法,比如使用 phpExcel 等,以下代码是直接通过 header 生成 excel 文件的代码示例:
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");
$cfg_dbhost = 'localhost';
$cfg_dbname = 'testdb';
$cfg_dbuser = 'root';
$cfg_dbpwd = 'root';
$cfg_db_language = 'utf8';
// END 配置
//链接数据库
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//选择编码
mysql_query("set names ".$cfg_db_language);
//users表
$sql = "desc users";
$res = mysql_query($sql);
echo "tabletr";
//导出表头(也就是表中拥有的字段)
while($row = mysql_fetch_array($res)){
$t_field[] = $row['Field']; //Field中的F要大写,否则没有结果
echo "th".$row['Field']."/th";
}
echo "/tr";
//导出100条数据
$sql = "select * from users limit 100";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo "tr";
foreach($t_field as $f_key){
echo "td".$row[$f_key]."/td";
}
echo "/tr";
}
echo "/table";
?
如果你要求的excle表格不是很复杂 .可以用html的table表格来实现.因为excle的兼容性可以打开xml文档.所以你可以使用html文件来当做excle文件.
如果比较复杂 ,就要使用phpexcle了
这个是网页自动导出的基本思路
如果只是导出几个少数的表和内容
你可以使用phpmyadmin的导出功能.能够实现导出excle文档.
根据下列编码程序可以。
1./*** 批量导出数据* @param $arr 从数据库查询出来,即要导出的数据* $name excel表歌名*/
2.function expExcel($arr,$name){ require_once 'PHPExcel.php';
3. //实例化 $objPHPExcel = new PHPExcel(); /*右键属性所显示的信息*/
4.$objPHPExcel-getProperties()-setCreator("zxf") // -setLastModifiedBy("zxf") //最后一 -setTitle('数据EXCEL导出') //标题-setSubject('数据EXCEL导出') //主题setDescription('导出数据') //描setKeywords("excel") //标记setCategory("result file"); //类别
5. //设置当前的表格 $objPHPExcel-setActiveSheetIndex(0);// 设置表格第一行显示内容$objPHPExcel-getActiveSheet() -setCellValue('A1', '业主姓名') -setCellValue('B1', '密码')-setCellValue('C1', '手机号码' -setCellValue('D1', '地址')
6.//设置第一行为红色字体 -getStyle('A1:D1')-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_RED);$key = 1; /*以下就是对处理Excel里的数据。