首先下载phpexcel 下载地址:http://phpexcel.codeplex.com/ https://github.com/phpoffice/phpexcel
把classes目录下的文件(phpexcel.php和phpexcel文件夹),放到thinkphplibraryorgutil目录下
phpexcel.php 改名为 :phpexcel.class.php
// 导出exl
public function look_down(){
$id = i('get.id');
$m = m ('offer_goods');
$where['offer_id'] = $id;
$data = $m->field('goods_id,goods_sn,goods_name,barcode,goods_type,price')->select();
// 导出exl
import("org.util.phpexcel");
import("org.util.phpexcel.worksheet.drawing");
import("org.util.phpexcel.writer.excel2007");
$objphpexcel = new phpexcel();
$objwriter = new phpexcel_writer_excel2007($objphpexcel);
$objactsheet = $objphpexcel->getactivesheet();
// 水平居中(位置很重要,建议在最初始位置)
$objphpexcel->setactivesheetindex(0)->getstyle('a')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objphpexcel->setactivesheetindex(0)->getstyle('b1')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objphpexcel->setactivesheetindex(0)->getstyle('c')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objphpexcel->setactivesheetindex(0)->getstyle('d')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objphpexcel->setactivesheetindex(0)->getstyle('e')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objphpexcel->setactivesheetindex(0)->getstyle('f')->getalignment()->sethorizontal(phpexcel_style_alignment::horizontal_center);
$objactsheet->setcellvalue('a1', '商品货号');
$objactsheet->setcellvalue('b1', '商品名称');
$objactsheet->setcellvalue('c1', '商品图');
$objactsheet->setcellvalue('d1', '商品条码');
$objactsheet->setcellvalue('e1', '商品属性');
$objactsheet->setcellvalue('f1', '报价(港币)');
// 设置个表格宽度
$objphpexcel->getactivesheet()->getcolumndimension('a')->setwidth(16);
$objphpexcel->getactivesheet()->getcolumndimension('b')->setwidth(80);
$objphpexcel->getactivesheet()->getcolumndimension('c')->setwidth(15);
$objphpexcel->getactivesheet()->getcolumndimension('d')->setwidth(20);
$objphpexcel->getactivesheet()->getcolumndimension('e')->setwidth(12);
$objphpexcel->getactivesheet()->getcolumndimension('f')->setwidth(12);
// 垂直居中
$objphpexcel->getactivesheet()->getstyle('a')->getalignment()->setvertical(phpexcel_style_alignment::vertical_center);
$objphpexcel->getactivesheet()->getstyle('b')->getalignment()->setvertical(phpexcel_style_alignment::vertical_center);
$objphpexcel->getactivesheet()->getstyle('d')->getalignment()->setvertical(phpexcel_style_alignment::vertical_center);
$objphpexcel->getactivesheet()->getstyle('e')->getalignment()->setvertical(phpexcel_style_alignment::vertical_center);
$objphpexcel->getactivesheet()->getstyle('f')->getalignment()->setvertical(phpexcel_style_alignment::vertical_center);
foreach($data as $k=>$v){
$k +=2;
$objactsheet->setcellvalue('a'.$k, $v['goods_sn']);
$objactsheet->setcellvalue('b'.$k, $v['goods_name']);
$img = m('goods')->where('goods_id = '.$v['goods_id'])->field('goods_thumb')->find();
// 图片生成
$objdrawing[$k] = new phpexcel_worksheet_drawing();
$objdrawing[$k]->setpath('./upload/'.$img['goods_thumb']);
// 设置宽度高度
$objdrawing[$k]->setheight(80);//照片高度
$objdrawing[$k]->setwidth(80); //照片宽度
/*设置图片要插入的单元格*/
$objdrawing[$k]->setcoordinates('c'.$k);
// 图片偏移距离
$objdrawing[$k]->setoffsetx(12);
$objdrawing[$k]->setoffsety(12);
$objdrawing[$k]->setworksheet($objphpexcel->getactivesheet());
// 表格内容
$objactsheet->setcellvalue('d'.$k, $v['barcode']);
$objactsheet->setcellvalue('e'.$k, $v['goods_type']);
$objactsheet->setcellvalue('f'.$k, $v['price']);
// 表格高度
$objactsheet->getrowdimension($k)->setrowheight(80);
}
$filename = '报价表';
$date = date("y-m-d",time());
$filename .= "_{$date}.xls";
$filename = iconv("utf-8", "gb2312", $filename);
//重命名表
// $objphpexcel->getactivesheet()->settitle('test');
//设置活动单指数到第一个表,所以excel打开这是第一个表
$objphpexcel->setactivesheetindex(0);
header('content-type: application/vnd.ms-excel');
header("content-disposition: attachment;filename="$filename"");
header('cache-control: max-age=0');
$objwriter = phpexcel_iofactory::createwriter($objphpexcel, 'excel5');
$objwriter->save('php://output'); //文件通过浏览器下载
// end
}
水平居中,垂直居中,高度 等设置。注意放的位置,如果你放在末尾,那么是下一样生效。放到头部,第一行生效(上面代码是第一行生效,如果放到foreach里面就是下一行生效)。
import介绍。import("org.util.phpexcel.writer.excel2007"); 文件位置:orgutilphpexcelwriterexcel2007.class.php
图片地址一定要是本地。objdrawing[ objdrawing[k]->setpath('./upload/'.$img['goods_thumb']); 图片位置:安装目录/upload/xxx
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持硕编程。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!