建站技术文档

将想法与热点信息与您一起分享

Pbootcms 自定义表单导出 Excel

2019-11-22

适用于 PbootCMS V2.0.3-20191025

其他版本请自行对照修改

不同的自定义表单分别可导出不同的表格

完整 Demo下载:

1574327969385175.zip



第一步:

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

Excel.php 下载:

1574326695424240.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


第三步:

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

在第 12 行

TIM截图20191121180817.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


第四步:

找到“/ 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

至此完成。


I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。