由于xml方式导出,不能显示图片,所以有时候需要excel的方式
excel写法:
function actionExport(){

1.查询需要导出的内容;

2.
include_once 'Lib/PhpExcel/PHPExcel.php'; 先引入phpexcel
    $data = array();//显示数据
    //创建一个读Excel模版的对象
    $objReader = PHPExcel_IOFactory::createReader ( 'Excel5' );
    //读取一个excel模版
    $objPHPExcel = $objReader->load ("upload/template/ShChDan.xls" ); 放置好一个需要用的excel文档,最好是excel的,不要用wps的,否则会不兼容,报错
    $objActSheet = $objPHPExcel->getActiveSheet ();
    $objActSheet->setTitle ( '生产任务单' );//设置导出文档的标题
$title = '常州金坛康城机械制造有限公司';
    $objActSheet->setCellValue ( 'A1',$title);
    $objActSheet->setCellValue ( 'A5','生产任务单');//在单元格内放置需要的显示的内容
 $i = 9;
对于子表的信息,需要遍历循环
    foreach ($rowset as $key => &$v) {

        if($i>9){
            $objActSheet->insertNewRowBefore($i,1); //新增行
        }

        $objActSheet->setCellValue ( 'A'.$i, $v['huoCode']          );

//设置显示的图片
        $objDrawing = new PHPExcel_Worksheet_Drawing();
        /*设置图片路径*/
        $objDrawing->setPath('./'.$v['pics']);
        /*设置图片高度*/
        $objDrawing->setHeight(40);
        /*设置图片要插入的单元格*/
        $objDrawing->setCoordinates("B".$i);
        /*设置图片所在单元格的格式*/
        $objDrawing->setOffsetX(10);
        $objDrawing->setOffsetY(1);
        $objDrawing->setRotation(20);
        $objDrawing->getShadow()->setVisible(true);
        $objDrawing->getShadow()->setDirection(50);
        $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
   
        $i++;
    }
 $filename = $planCode?$planCode:time ();  //设置导出的文件名
    ob_end_clean();//清除缓存 防止乱码
    // header ('Content-Type: application/vnd.ms-excel');
    header ("Content-Type: application/vnd.ms-excel; charset=UTF-8");//
    header ('Content-Disposition: attachment;filename="' . $filename . '.xls"' ); 
    header ('Cache-Control: max-age=0');//缓存
    header("Content-Type:application/download");;
    header("Content-Transfer-Encoding:binary");
    $objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' ); //在内存中准备一个excel2003文件
    $objWriter->save ( 'php://output' );
    exit;

}

xml的写法:
function actionViewExport(){
	FLEA::loadClass('TMIS_Common');
	$sql="SELECT x.*,y.id as sid,y.jiaoqi,z.color,y.cnt,y.unit,y.danjia,y.memo,z.proCode,z.proName,a.compName,
		employName,z.chengfen,z.menfu,z.kezhong
		from caigou_order x 
		left join caigou_order2product y on x.id=y.caigouId
		left join jichu_product z on z.proCode=y.productId
		left join jichu_supplier a on a.id=y.supplierId
		left join jichu_employ e on e.id=x.employId
		where 1 and x.id='{$_GET['id']}'";
	$row=$this->_modelExample->findBySql($sql);
	foreach ($row as &$v) {
		$v['jiaoqi']=$v['jiaoqi']=='0000-00-00'?'':$v['jiaoqi'];
	}

	$smarty=& $this->_getView();
	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/download");
	header("Content-Disposition: attachment;filename=采购合同.xls");
	header("Content-Transfer-Encoding: binary");
	$smarty->assign('title','导出');
	$smarty->assign('aRow',$row);
	$smarty->display('Caigou/export.tpl');//准备好一个xml格式的模板,可打开excel转为xml格式即可
}