如何将数据从mysql数据库导出成excel格式?是php的
假设mysql用户名和密码都test,要导出test库的users表,linux下直接在命令行:
mysql
-utest
-ptest
-e
“select
*
from
test.users”
>
users.xls
php 怎么把数据导出到excel表格
昨天项目里有个求,客户希望把一些数导出成为Excel表格,刚用PHP原生输入Excel表格,发现效果不理想,于是找到一个比较著名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。
网页链接
PHP怎样将查询出来的数据导出成excel表格?
根下列编码程序可以。
如何用PHP把MYsql数据库数据导出到excel表中?是php代码导出的那种。
这个很简单,有这样的工具,能把mysql直接导出成excel格式
PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)
如果将数据导出成excel要用到PHPExcel,这个可度一下。
要实现这能,代码是比较多的,下面是我的代码,肯定不能兼容你的,需要修改。
if ($_POST[“outputExcelBtn”]){
define(‘EOL’,(PHP_SAPI == ‘cli’) ? PHP_EOL : ‘
‘);
require_once ‘PHPExcel/Classes/PHPExcel.php’;
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator(“CG”)
->setLastModifiedBy(“CG”)
->setTitle(“CG”)
->setSubject(“CG”)
->setDescription(“CG”)
->setKeywords(“CG”)
->setCategory(“CG”);
$objPHPExcel->getDefaultStyle()->getFont()->setName(‘Arial’)
->setSize(10);
$objPHPExcel->getActiveSheet()->setCellValue(‘A1’, ‘编号’)
->setCellValue(‘B1’, ‘产品名字’)
->setCellValue(‘C1’, ‘产品属性’)
->setCellValue(‘D1’, ‘添加日期’)
;
$objPHPExcel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘C’)->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setWidth(15);
$i=2;
while ($f=$rs->movenext()){//这里是查询数据的代码,请用你自己的(本程序由[且听风吟福利吧3tii.com]提供)
$objPHPExcel->getActiveSheet()->setCellValue(‘A’.$i, $f[“p_num”])
->setCellValue(‘B’.$i, $f[“p_name”])
->setCellValue(‘C’.$i, $f[“p_pra”])
->setCellValue(‘D’.$i, date(‘Y-m-d’,$f[“p_date”]))
;
$objPHPExcel->getActiveSheet()->getStyle(‘A’.$i.’:D’.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$i ;
}
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//上下对齐
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //左右对齐
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle(‘A1:D1’)->getFill()->getStartColor()->setARGB(‘FF808080’);
$objPHPExcel->getActiveSheet()->setTitle(‘产品表’);//重命名工作表
$objPHPExcel->setActiveSheetIndex(0);//设置打开excel时显示的工作表
$callStartTime = microtime(true);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);
$filename=’PDT’.(date(‘Y-m-d’));
$objWriter->save(PATH_CREATE.iconv(‘utf-8′,’gb2312′,$filename).’.xls’);
$objPHPExcel = PHPExcel_IOFactory::load(PATH_CREATE.iconv(‘utf-8′,’gb2312′,$filename).’.xls’);
$notice=’导出Excel成功,文件名为’.$filename.’.xls,【点此下载】’;
}
因为你说的需要有一个按钮触发事件,所以outputExcelBtn就是按钮名字
网上有很多人问这个的,回答的人很少,要么是自己解决了不想让其他人知道,要么是不能用,这个是在一直用的,没问题。
PHP如何导出当前页面中的表格至Excel
这属于php术;
php可以用PHPExcel直接成excel文件;
如下:
require_once(“../lib/excelcreator.class.php”);
$myxls = new ExcelCreator (“Excel”);
$aTableHead = ‘
Name3 Surname3 ‘;
$aTableBody = ‘
Schwarz3 Oliver3 ‘;
$aTableBottom = ‘
123 Peter3 ‘;
$workSheet = $myxls->createWorkSheet ( “中文sheet1”, $aTableHead, $aTableBody, $aTableBottom );
echo $myxls->createExcel ( $workSheet );
PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?
讲的复杂了啊!
你先个完整版的PHPExcel之后解压“Examples”目录下会找大堆例子,根据你的要求这个“01simple-download-xlsx.php”文件就可以了!
注:你先保持“01simple-download-xlsx.php”文件所在的目录位置不要变,测试好了,再改变名,移到别的地方,地方变了的话,文件里的 “require_once dirname(__FILE__) . ‘/../Classes/PHPExcel.php’;”的所在位置也要变!
我们要改动代码很少,如下:
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(‘A1’, ‘Hello’)
->setCellValue(‘B2’, ‘world!’)
->setCellValue(‘C1’, ‘Hello’)
->setCellValue(‘D2’, ‘world!’);
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(‘A4’, ‘Miscellaneous glyphs’)
->setCellValue(‘A5’, ‘éàèùâêîôûëïüÿäöüç’);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
直接用的我的替换
$objPHPExcel->setActiveSheetIndex(0)//这个就是现实导出的表第一行,有几列是根据你的那张表有几列!
->setCellValue(‘A1’, ‘单号’)
->setCellValue(‘B1’, ‘标题’)
->setCellValue(‘C1’, ‘内容’)
->setCellValue(‘D1’, ‘序列’)
->setCellValue(‘E1’, ‘数字’);
//下面实现的就是建立数据库连接,直接到表,你的连接数据库、表、字段应该与我的不一样,你可以参考
$conn=@mysql_connect(“localhost”,”root”,”root”) or die(“数据库服务器连接错误”.mysql_error());//连接mysql数据库
mysql_select_db(“temp”,$conn) or die(“数据库访问错误”.mysql_error());//数据库
mysql_query(“set character set gb2312”);
mysql_query(“set names gb2312”);
$sqlgroups=”select * from test “;//查询这一张表的条件
$resultgroups=mysql_query($sqlgroups);
$numrows=mysql_num_rows($resultgroups);
if ($numrows>0)
{
$count=1;
while($data=mysql_fetch_array($resultgroups))
{
$count =1;
$l1=”A”.”$count”;
$l2=”B”.”$count”;
$l3=”C”.”$count”;
$l4=”D”.”$count”;
$l5=”E”.”$count”;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l1, $data[‘id’])//这就是你要导出表的字段、与对应的名称
->setCellValue($l2, $data[‘title’])
->setCellValue($l3, $data[‘content’])
->setCellValue($l4, $data[‘sn’])
->setCellValue($l5, $data[‘num’]);
}
}
phpexcel怎么导出数据库
个人感觉 PHPExcel还是很好用的先到官方网http://phpexcel.codeplex.com/下载最近版本的PHPExcel,后会发现里面有class、Documentation、Tests三个文件夹和三个txt的日志文件,主要用到的是Class文件,而Tests主要是一些demo示例
下面来介绍一下PHPExcel的简单用法,这里是与数据库连接的:
首先,要包含PHPExcel.PHP
require_once ‘Classes/PHPExcel.php’; //路径根据自己实际项目的路径进行设置
$objPHPExcel = new PHPExcel(); //创建PHPExcel实例
//下面是对MySQL数据库的连接
$conn = mysql_connect(“localhost”,”root”,””) or die(“数据库连接失败!”);
mysql_select_db(“image”,$conn); //连接数据库
mysql_query(“set names ‘GBK'”); //转换字符编码
$sql = mysql_query(“select * from test”); //查询sql语句
/*————–设置表头信息——————*/
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(‘A1’, ‘ID编号’)
->setCellValue(‘B1’, ‘月份’)
->setCellValue(‘C1’, ‘产品一’)
->setCellValue(‘D1’, ‘产品二’)
->setCellValue(‘E1’, ‘产品三’);
/*————–开始从数据库提取信息插入Excel表中——————*/
$i=2; //定义一个i变量,目的是在循环输出数据是控制行数
while($rs=mysql_fetch_array($sql)){
$rm = iconv(“GB2312″,”UTF-8”,$rs[1]); //对字符进行编码将数据库里GB2312的中文字符转换成UTF-8格式
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(“A”.$i, $rs[0])
->setCellValue(“B”.$i, $rm)
->setCellValue(“C”.$i, $rs[2])
->setCellValue(“D”.$i, $rs[3])
->setCellValue(“E”.$i, $rs[4]);
$i ;
}
/*————–下面是设置其他信息——————*/
$objPHPExcel->getActiveSheet()->setTitle(‘Example1’); //设置sheet的名称
$objPHPExcel->setActiveSheetIndex(0); //设置sheet的起始位置
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’); //通过PHPExcel_IOFactory的写函数将上面数据写出来
$objWriter->save(str_replace(‘.php’, ‘.xls’, __FILE__)); //设置以什么格式保存,及保存位置
至此,一个完整的将mysql数据库里的信息用PHP导出Excel实例做完,可能在运行的时候会发生一些问题,如中文乱码,表头可能显示不出来,这是因为文件编码格式的原因,将文件编码设置成UTF-8就行了,在此我就不做太多解释了。