很变态,图片非要导入excel,这么大个,我只能1000条导出一次,很恶心。导出好多次,才全部倒出到excel.
set_time_limit(0);
ini_set('memory_limit', '1024M');
$title = date('Ym',time());
//获取活动id
$aUserInfo= $c->get_doctor_reply_img($title);
//如果是导出excel文件
require_once 'include/PHPExcel.php';
require_once 'include/PHPExcel/Writer/Excel2007.php';
/*实例化excel类*/
$excel = new PHPExcel();
/*实例化excel图片处理类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
/*设置文本对齐方式*/
$excel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$excel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objActSheet = $excel->getActiveSheet();
$letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');
/*设置表头数据*/
$tableheader = array('零售店员名字','零售店员电话','销售代表','销售代表电话','地区经理','大区','答题时间', '用户类型','答案');
/*填充表格表头*/
$count = count($tableheader);
for($i = 0;$i < $count;$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
/*设置表格数据*/
$fieldArr = array('name','telephony','market_name','market_telephony','area_manager','region','inputtime','type','answer');
$data = array();
foreach($aUserInfo as $k=> $v){
$data[$k]['answer'] = $v['file_url'];
$data[$k]['name'] = $v['name'];
$data[$k]['telephony'] = $v['telephony'];
$data[$k]['market_name'] = $v['market_name'];
$data[$k]['market_telephony'] = $v['market_telephony'];
$data[$k]['area_manager'] = $v['area_manager'];
$data[$k]['region'] = $v['region'];
if($v['usertype']==1){
$data[$k]['type'] = "药师";
}else{
$data[$k]['type'] = "医生";
}
$data[$k]['inputtime'] = date('Y-m-d H:i:s',$v['inputtime']);
}
/*填充表格内容*/
$count = count($data);
for ($i = 0;$i < $count;$i++) {//VAR_DUMP(PHP_ROOT.'1.jpg');DIE;
$j = $i + 2;
/*设置表格高度*/
$excel->getActiveSheet()->getRowDimension($j)->setRowHeight(80);
/*向每行单元格插入数据*/
$countRow = count($data[$i]);
for ($row = 0;$row < $countRow;$row++) {
/*设置表格宽度*/
$objActSheet->getColumnDimension("$letter[$row]")->setWidth(40);
if ($fieldArr[$row]=='answer') {
if($data[$i][$fieldArr[$row]]){
/*实例化插入图片类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
/*设置图片路径 切记:只能是本地图片*/
$objDrawing->setPath(dirname(dirname(__FILE__)).$data[$i][$fieldArr[$row]]);
/*设置图片高度*/
$objDrawing->setHeight(100);
/*设置图片要插入的单元格*/
$objDrawing->setCoordinates("I".($i+2));
/*设置图片所在单元格的格式*/
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($excel->getActiveSheet());
continue;
}
}
$excel->getActiveSheet()->setCellValue("$letter[$row]$j",$data[$i][$fieldArr[$row]]);
}
}
$write = new PHPExcel_Writer_Excel2007($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="测试文件.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');