phpexcel倒出带图片excel的宽度设置问题
getproperties()->setcreator(dizzylion)
->setlastmodifiedby(dizzylion)
->setsubject(orders output document);
$filepaths= root_path.data/.date(y-m).'.xls';
$filename = date(y-m).'.xls';
$rowix = 1;
$objphpexcel->setactivesheetindex(0)
->setcellvalue('a'.$rowix , '訂單編號')
->setcellvalue('b'.$rowix , '下單時間')
->setcellvalue('c'.$rowix , '訂單金額')
->setcellvalue('d'.$rowix , '産品圖片')
->setcellvalue('e'.$rowix , '會員名稱');
$rowix++;
$i=0;
$list = array();
$order_sn_list = explode(',', $_post['order_id']);
foreach ($order_sn_list as $order_sn)
{
/* 取得订单信息 */
$sql = select pay_name,shipping_name,order_id,order_sn,consignee,address,add_time,tel,mobile,user_name, .
( . order_amount_field('o.') . ) as total_fee
from .$ecs->table('order_info'). o left join .$ecs->table('users'). u on o.user_id =
u.user_id where order_sn='$order_sn';
$row = $db->getrow($sql);
$goods = $db->getall(select goods_name,goods_id,cgbz,postmsg,goods_number,goods_price,goods_price*goods_number as je,goods_sn from .$ecs->table('order_goods'). where order_id = '.$row['order_id'].');
if($goods){
foreach($goods as $k=>$v){
$temp = array();
$v['img'] = $db->getone(select goods_thumb from .$ecs->table('goods'). where goods_id='.$v['goods_id'].');
$temp['goods'] = $v;
$temp['order_info'] = $row;
$list[$row['order_id']][] = $temp;
}
}
}
foreach ($list as $key => $t) {
foreach($t as $k1=>$value){
$objphpexcel->setactivesheetindex(0)
->setcellvalue('a'.$rowix , $value['order_info']['order_sn'])
->setcellvalue('b'.$rowix , local_date(y-m-d,$value['order_info']['add_time']))
->setcellvalue('c'.$rowix , $value['order_info']['total_fee'])
->setcellvalue('e'.$rowix , $value['order_info']['user_name']);
$objphpexcel->getactivesheet()->getcolumndimension('d'.$rowix)->setautosize(true);
$objphpexcel->getactivesheet()->getcolumndimension('d'.$rowix)->setwidth(150); //设置d列,图片列为150的宽度
$objphpexcel->getactivesheet()->getrowdimension($rowix)->setrowheight(80);
$objdrawing = new phpexcel_worksheet_drawing();
$objdrawing->setname('logo');
$objdrawing->setdescription('logo');
$objdrawing->setpath(../.$value['goods']['img']);
$objdrawing->setheight(80);
$objdrawing->setcoordinates('d'.$rowix);//图片名称所在的单元格
$objdrawing->getshadow()->setvisible(true);
$objdrawing->setworksheet($objphpexcel->getactivesheet());
$rowix++;
}
}
$objphpexcel->setactivesheetindex(0)->getcolumndimension('a')->setautosize(true);
$objphpexcel->setactivesheetindex(0)->getcolumndimension('b')->setautosize(true);
$objphpexcel->setactivesheetindex(0)->getcolumndimension('c')->setautosize(true);
$objphpexcel->setactivesheetindex(0)->getcolumndimension('d')->setautosize(true);
$objphpexcel->setactivesheetindex(0)->getcolumndimension('e')->setautosize(true);;
$objphpexcel->setactivesheetindex(0);
$objwriter = phpexcel_iofactory::createwriter($objphpexcel, 'excel5');
$objwriter->settempdir(root_path.data);
$objwriter->save($filepaths);
header(location:../data/.$filename);
exit;
}
?>
d列是图片显示的内容列,但是我设置了150,可是 程序里面倒出来,还是很窄,没效果
------解决方案--------------------
怎么能删呢?
应写作
$objphpexcel->getactivesheet()->getcolumndimension('d')->setwidth(150);