方法一:直接用头部信息输出excel格式文件,内容以表格形式展示
//直接用头部信息输出excel格式文件,内容以表格形式展示。 $filename='orderexcel'; header("content-type: application/vnd.ms-excel; charset=gbk"); header("content-disposition: attachment; filename=$filename.xls");//$list为数据库查询结果,既二维数组。利用循环出表格,直接输出,既在线生成execl文件 foreach($list as $key => $val) { $data .= "<table border='1'>"; $data .= "<tr><td colspan='2'>订单号:".$val['order_sn']."</td><td>用户名:".$val['user_name']."</td><td colspan='2'>收货人:".$val['consignee']."</td><td colspan='2'>联系电话:".$val['tel']."</td></tr>"; $data .= "<tr><td colspan='5'>送货地址:".$val['address']."</td><td colspan='2'>下单时间:".$val['add_time']."</td></tr>"; $data .= "<tr bgcolor='#999999'><th>序号</th><th>货号</th><th>商品名称</th><th>市场价</th><th>本店价</th><th>购买数量</th><th>小计</th></tr>"; $data .= "<tr><th>1</th><th>".$val['goods_sn']."</th><th>".$val['goods_name']."</th><th>".$val['market_price']."</th><th>".$val['goods_price']."</th><th>".$val['goods_number']."</th><th>".$val['money']."</th></tr>"; $data .= "</table>"; $data .= "<br>";}$data.='</table>'; if (ec_charset != 'gbk') { echo yzy_iconv(ec_charset, 'gbk', $data) . "\t"; } else { echo $data. "\t"; }
方法二:利用excel导出插件phpexcel
//利用excel导出插件phpexcel // 引入phpexcel核心类文件 require_once root_path . '/includes/phpexcel/classes/phpexcel.php'; // 实例化excel类 $objphpexcel = new phpexcel(); // 操作第一个工作表 $objphpexcel->setactivesheetindex(0); // 设置sheet名 $objphpexcel->getactivesheet()->settitle('xx列表'); // 设置表格宽度 $objphpexcel->getactivesheet()->getcolumndimension('a')->setwidth(10); $objphpexcel->getactivesheet()->getcolumndimension('b')->setwidth(20); $objphpexcel->getactivesheet()->getcolumndimension('c')->setwidth(15); $objphpexcel->getactivesheet()->getcolumndimension('d')->setwidth(50); $objphpexcel->getactivesheet()->getcolumndimension('e')->setwidth(20); $objphpexcel->getactivesheet()->getcolumndimension('f')->setwidth(5); $objphpexcel->getactivesheet()->getcolumndimension('g')->setwidth(20); // 列名表头文字加粗 $objphpexcel->getactivesheet()->getstyle('a1:j1')->getfont()->setbold(true); // 列表头文字居中 $objphpexcel->getactivesheet()->getstyle('a1:j1')->getalignment() ->sethorizontal(phpexcel_style_alignment::horizontal_center); // 列名赋值 $objphpexcel->getactivesheet()->setcellvalue('a1', '编号'); $objphpexcel->getactivesheet()->setcellvalue('b1', '姓名'); $objphpexcel->getactivesheet()->setcellvalue('c1', '电话'); $objphpexcel->getactivesheet()->setcellvalue('d1', '擅长'); $objphpexcel->getactivesheet()->setcellvalue('e1', '创建日期'); $objphpexcel->getactivesheet()->setcellvalue('f1', '审核'); $objphpexcel->getactivesheet()->setcellvalue('g1', '审核时间'); // 数据起始行 $row_num = 2; // 向每行单元格插入数据 foreach($res as $value) { // 设置所有垂直居中 $objphpexcel->getactivesheet()->getstyle('a' . $row_num . ':' . 'j' . $row_num)->getalignment() ->setvertical(phpexcel_style_alignment::vertical_center); // 设置价格为数字格式 $objphpexcel->getactivesheet()->getstyle('d' . $row_num)->getnumberformat() ->setformatcode(phpexcel_style_numberformat::format_number_00); // 居中 $objphpexcel->getactivesheet()->getstyle('e' . $row_num . ':' . 'h' . $row_num)->getalignment() ->sethorizontal(phpexcel_style_alignment::horizontal_center); // 设置单元格数值 $objphpexcel->getactivesheet()->setcellvalue('a' . $row_num, $value['id']); $objphpexcel->getactivesheet()->setcellvalue('b' . $row_num, $value['teacher_name']); $objphpexcel->getactivesheet()->setcellvalue('c' . $row_num, $value['teacher_mobile']); $objphpexcel->getactivesheet()->setcellvalue('d' . $row_num, $value['teacher_desc']); $objphpexcel->getactivesheet()->setcellvalue('e' . $row_num, date('y-m-d h:i:s',$value['createtime'])); $objphpexcel->getactivesheet()->setcellvalue('f' . $row_num, $value['state'] ? '√' : '×'); $objphpexcel->getactivesheet()->setcellvalue('g' . $row_num, date('y-m-d h:i:s',$value['statetime'])); $row_num++; } $outputfilename = 'teacher_' . time() . '.xls'; $xlswriter = new phpexcel_writer_excel5($objphpexcel); header("content-type: application/force-download"); header("content-type: application/octet-stream"); header("content-type: application/download"); header('content-disposition:inline;filename="' . $outputfilename . '"'); header("content-transfer-encoding: binary"); header("expires: mon, 26 jul 1997 05:00:00 gmt"); header("last-modified: " . gmdate("d, d m y h:i:s") . " gmt"); header("cache-control: must-revalidate, post-check=0, pre-check=0"); header("pragma: no-cache"); $xlswriter->save("php://output"); echo file_get_contents($outputfilename);
更多相关知识,请访问 !!
