温馨提醒
如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢
本文最后更新于2023年11月16日,已超过 180天没有更新
适用于 PbootCMS V2.0.3-20191025
其他版本请自行对照修改
不同的自定义表单分别可导出不同的表格
作者:Appeal
作者 QQ:1310030991
完整demo下载:
第一步:
找到 “/ core / extend / excel”文件夹,增加 Excel.php 文件
Excel.php文件下载:
第二步:
找到“/ 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;
}
第三步:
找到“/ apps / admin / controller / content / FormController.php”文件,
在第 12 行
use app\admin\model\content\FormModel;
后面增加代码如下,
core\extend\excel\Excel;
在第 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);
}
第四步:
找到“/ 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>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系客服QQ3387285338进行处理。





评论0+