扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果将数据导出成excel,需要用到PHPExcel,这个可以百度一下。
我们提供的服务有:成都网站设计、网站制作、外贸营销网站建设、微信公众号开发、网站优化、网站认证、伊宁ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的伊宁网站制作公司
要实现这个功能,代码是比较多的,下面是我的代码,肯定不能兼容你的,需要修改。
if ($_POST["outputExcelBtn"]){
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : 'br /');
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成功,文件名为span class="red"'.$filename.'.xls/span,a href="'.$filename.'.xls"【点此下载】/a';
}
因为你说的需要有一个按钮触发事件,所以outputExcelBtn就是按钮名字
input type="submit" name="outputExcelBtn" value="导出excel" /
网上有很多人问这个的,回答的人很少,要么是自己解决了不想让其他人知道,要么是不能用,这个是在一直用的,没问题。
我也很就纠结这个问题,现在我是这样做的
$res = mysqli_query ($sql, "select BCur from microvast where id between 1 and 50");
foreach($res as $x=$x_value) {
foreach($x_value as $k=$v) {
$data[] = $v;
}
这样可以$data[]生成了‘BCur’一列的一个索引数组,但是执行效率不高,多列就要做多次查询,期待更好的方法。
while ($row=mysqli_fetch_assoc($res)){
$id=$row["id"];
......
echo $id;
}
这个办法只能打印出来
csv是‘,’分割,按\n转数组,然后再把每个元素按,分割成功数组,这样就有了一个二维数组,然后就好办了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流