首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pbootcms 自定义表单导出 Excel

Pbootcms 自定义表单导出 Excel

作者头像
Savalone
发布2020-02-11 14:19:43
1.6K0
发布2020-02-11 14:19:43
举报
文章被收录于专栏:Savalone's BlogSavalone's Blog

适用于 PbootCMS V2.0.3-20191025 其他版本请自行对照修改 不同的自定义表单分别可导出不同的表格 作者:Appeal 作者 QQ:1310030991 完整 Demo下载:

自定义表单导出excl.zip

第一步:

找到 “/ core / extend / excel”文件夹,增加 Excel.php 文件

Excel.php 下载:

Excel.zip

第二步:

找到“/ apps / admin / model / content / FormModel.php”文件,

在合适的位置( 例如:第 13 行的 class FormModel extends Model { 后面 )添加以下代码:  

public function getExcelList($id)
    {
        $form = parent::table('ay_form')->where("fcode=$id")->find();
        $diy_list = parent::table("{$form->table_name}")->select();
        return $diy_list;    
    } 
  public function getExcelListname($id)
    {
        $form = parent::table('ay_form_field')->where("fcode=$id")->field('name,description')->select();        
        return $form;    
    }

如图 

TIM截图20191121170945.png
TIM截图20191121170945.png

第三步:

找到“/ apps / admin / controller / content / FormController.php”文件,

在第 12 行  

TIM截图20191121180817.png
TIM截图20191121180817.png

后面增加以下代码,

TIM截图20191121180913.png
TIM截图20191121180913.png

在第 331 行,也就是最后一个 “} ”之前增加以下代码:

public function export()
    {
        $id = $_GET['id'];        
        $Sheet_name = "表单";
$field_name_list = $this->model->getExcelListname($id);
$Sheet_name_arr = array();
$Sheet_field_arr = array();
if(!empty($field_name_list)) {
foreach ($field_name_list as $k => $v) {
$Sheet_name_arr[$k] = $v->description;
$Sheet_field_arr[$k] = $v->name;
}
}
 $message = $this->model->getExcelList($id);
        $xls = new Excel($Sheet_name);
        $xls->worksheets[$Sheet_name]->addRow($Sheet_name_arr); 
        foreach($message as $val){
            if($val->status == 1){
                $status = '已处理';
            }else{
                $status = '未处理';
            }           
            $row = array();
            foreach ($Sheet_field_arr as $field) {
            if (!in_array($field, ['id','create_time'])) {
            $row[] = $val->$field;
            }
            }
            $xls->worksheets[$Sheet_name]->addRow($row);
        }        
        $Test_name = $Sheet_name . date("Y-m-d H:i:s", time());
        $xls->generate($Test_name);
    }

如图

TIM截图20191121171259.png
TIM截图20191121171259.png

第四步:

找到“/ apps / admin / view / default / content / form.html”文件,

在第 113 行后面添加以下代码:

<button type="submit" name="submit" onclick="return exportExcelList();" class="layui-btn">导出</button>
<script>
function exportExcelList(){
window.open("{url./admin/Form/export&id='.[$form->fcode].'}", "_blank");   
}
</script>

如图

TIM截图20191121171635.png
TIM截图20191121171635.png

至此完成。

效果:

TIM截图20191122113405.png
TIM截图20191122113405.png
TIM截图20191122113426.png
TIM截图20191122113426.png

有问题可以添加作者QQ咨询:1310030991(作者接火车头采集规则业务)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年11月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:
  • 第二步:
  • 第三步:
  • 第四步:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档