通达OA2015-工作流表单导Excel模板后下载

工作流有时需要在某个步骤时按EXCEL模板导出,需要用到PHPExcel和jQuery,具体实现如下

一、表单界面生成按钮【正式报价单】,如下图

通达OA2015-工作流表单导Excel模板后下载_第1张图片

二、点按钮时的javascript脚本

 if (jQuery("#myexcel").length==0){
        var html="
"; html+=""; html+=""; html+=""; html+="'
"; jQuery("body").append(html); }else{ jQuery("#myexcel input[name='_time']").val(new Date().getTime()); } jQuery("#myexcel").submit();
三、URL中的PHPExcel方法

$INPUT=filter_input_array(INPUT_POST);//接收POST数据
$DATA=$this->_getflowdata($INPUT["run_id"], $INPUT["flow_id"]);//通过POST数据查询相应的表数据
if (!$DATA){
   die("打开工作流数据出错");
} 
$pathfile=dirname(dirname(__FILE__)).'\\Excel\\wujinbaojia.xls';//Excel模板位置
$e=PHPExcel_IOFactory::load($pathfile);
$s=$e->getSheet(0);
$s->setCellValue('F16',date("Y-m-d"));
$s->setCellValue('B20',$this->toUTF8($DATA['data_6']));//客户图号        
$s->setCellValue('C20',$this->toUTF8($DATA['data_18']));//材质
//规格
$s->setCellValue('D20',$this->toUTF8(floatval($DATA['data_404'])>0?"φ".$DATA['data_404']:"t=".$DATA['data_17']));
$s->setCellValue('E20',$this->toUTF8($DATA['data_213']));//表面处理内容
$s->setCellValue('F20',$DATA['data_282']);//最终报价
$s->setCellValue('G20',$DATA['data_161']);//模具报价
$s->setCellValue('H20',$DATA['data_241']);//公司要求MOQ       
$s->setCellValue('E39',date("Y-m-d"));    //日期  
header('Content-Type: application/vnd.ms-excel');  
header('Content-Disposition: attachment;filename="输出Excel文件名.xls"');  
header('Cache-Control: max-age=0');
PHPExcel_IOFactory::createWriter($e,'Excel5')->save('php://output');	

就这样,工作流表单中的数据就可以导出了!

你可能感兴趣的:(通达OA)