您的位置:首页 > Web前端 > JQuery

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

2015-10-30 14:31 603 查看
工作流有时需要在某个步骤时按EXCEL模板导出,需要用到PHPExcel和jQuery,具体实现如下

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



二、点按钮时的javascript脚本

if (jQuery("#myexcel").length==0){
var html="<form id='myexcel' target='_top' method='POST' action='你的URL'>";
html+="<input type='hidden' name='flow_id' value='"+g_flow_id+"'/>";
html+="<input type='hidden' name='_time' value='"+(new Date().getTime())+"'/>";
html+="<input type='hidden' name='run_id' value='"+g_run_id+"'/>";
html+="'</form>";
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');

就这样,工作流表单中的数据就可以导出了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息