求助。PHPExcel导出excel报错

浏览:2407 发布日期:2016/08/24 分类:求助交流
public function look_down(){
$m = M ('Info');

$data = $m->select();
//var_dump($data);exit;
// 导出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()->fromArray($data);
//var_dump($objActSheet);exit;
// 水平居中(位置很重要,建议在最初始位置)
$objPHPExcel->setActiveSheetIndex(0)->getstyle('A')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('B')->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);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('G')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('H')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('I')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('J')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('K')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('L')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('M')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('N')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('O')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('P')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('R')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('S')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('T')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('U')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('V')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('W')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('X')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('Y')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('Z')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('AA')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('AB')->getAlignment()->setHorizontal(\PHPExcel_style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)->getstyle('AC')->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', '身份证号');
$objActSheet->setCellValue('G1', '投资额');
$objActSheet->setCellValue('H1', '申购金额');
$objActSheet->setCellValue('I1', '到帐日期');
$objActSheet->setCellValue('J1', '合同到期日');
$objActSheet->setCellValue('K1', '基金份额');
$objActSheet->setCellValue('L1', '投资期限');
$objActSheet->setCellValue('M1', '份额类型');
$objActSheet->setCellValue('N1', '业绩比较基准(年化)');
$objActSheet->setCellValue('O1', '开户名称');
$objActSheet->setCellValue('P1', '帐号');
$objActSheet->setCellValue('Q1', '大额支付系统行号');
$objActSheet->setCellValue('R1', '电话');
$objActSheet->setCellValue('S1', '邮箱');
$objActSheet->setCellValue('T1', '身份证地址');
$objActSheet->setCellValue('U1', '家庭地址');
$objActSheet->setCellValue('V1', '基金管理人');
$objActSheet->setCellValue('W1', '所属区域');
$objActSheet->setCellValue('X1', '分公司');
$objActSheet->setCellValue('Y1', '顾问');
$objActSheet->setCellValue('Z1', '经理');
$objActSheet->setCellValue('AA1', '总监');
$objActSheet->setCellValue('AB1', '录入人');
$objActSheet->setCellValue('AC1', '备注');

// 设置个表格宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(16);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$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()->getColumnDimension('G')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('Z')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('AA')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('AB')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('AC')->setWidth(40);


// 垂直居中
$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('C')->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);
$objPHPExcel->getActiveSheet()->getstyle('G')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('H')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('I')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('J')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('K')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('L')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('M')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('N')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('O')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('P')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('Q')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('R')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('S')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('T')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('U')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('V')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('W')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('X')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('Y')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('Z')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('AA')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('AB')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getstyle('AC')->getAlignment()->setVertical(\PHPExcel_style_Alignment::VERTICAL_CENTER);



// 处理表数据
foreach($data as $k=>$v){
//var_dump($data);exit;
$k +=2;
$objActSheet->setCellValue('A'.$k, $v['contract']);
$objActSheet->setCellValue('B'.$k, $v['xiangmu']);
$objActSheet->setCellValue('C'.$k, $v['goods_type']);
$objActSheet->setCellValue('D'.$k, $v['investor']);
$objActSheet->setCellValue('E'.$k, $v['sex']);
$objActSheet->setCellValue('F'.$k, $v['cartid']);
$objActSheet->setCellValue('G'.$k, $v['tmoney']);
$objActSheet->setCellValue('H'.$k, $v['smoney']);
$objActSheet->setCellValue('I'.$k, $v['daotime']);
$objActSheet->setCellValue('J'.$k, $v['daoqitime']);
$objActSheet->setCellValue('K'.$k, $v['fene']);
$objActSheet->setCellValue('L'.$k, $v['qixian']);
$objActSheet->setCellValue('M'.$k, $v['fene_type']);
$objActSheet->setCellValue('N'.$k, $v['jizhun']);
$objActSheet->setCellValue('O'.$k, $v['bank']);
$objActSheet->setCellValue('P'.$k, $v['zhanghao']);
$objActSheet->setCellValue('Q'.$k, $v['xitonghao']);
$objActSheet->setCellValue('R'.$k, $v['phone']);
$objActSheet->setCellValue('S'.$k, $v['email']);
$objActSheet->setCellValue('T'.$k, $v['adds']);
$objActSheet->setCellValue('U'.$k, $v['homeadds']);
$objActSheet->setCellValue('V'.$k, $v['jijinren']);
$objActSheet->setCellValue('W'.$k, $v['quyu']);
$objActSheet->setCellValue('X'.$k, $v['company']);
$objActSheet->setCellValue('Y'.$k, $v['adviser']);
$objActSheet->setCellValue('Z'.$k, $v['jingli']);
$objActSheet->setCellValue('AA'.$k, $v['zongjian']);
$objActSheet->setCellValue('AB'.$k, $v['luru']);
$objActSheet->setCellValue('AC'.$k, $v['note']);


}

$fileName = '用户信息表';
$date = date("Y-m-d H:i:s",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
}



前台点击下载后报错Fatal error: 'break' not in the 'loop' or 'switch' context in /var/www/htdocs/hanya/ThinkPHP/Library/Org/Util/PHPExcel/Calculation/Functions.php on line 576

:(
'break' not in the 'loop' or 'switch' context
错误位置

FILE: /var/www/htdocs/hanya/ThinkPHP/Library/Org/Util/PHPExcel/Calculation/Functions.php  LINE: 576
最佳答案
评论( 相关
后面还有条评论,点击查看>>