找回密码
 立即注册
搜索
查看: 1210|回复: 0

dede 织梦dedecms自定义表单导出到excel的方法

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2020-3-21 15:03:51 | 显示全部楼层 |阅读模式


不写死任何字段,不写死任何东西,修改2个文件,让织梦自定义表单自由导出到Excel表格里。



修改教程如下:

dede\diy_list.php
1、在下面
  1. $action = isset($action) && in_array($action, array('post', 'list', 'edit', 'check', 'delete')) ? $action : '';
复制代码
里面增加一个字段

  1. $action = isset($action) && in_array($action, array('post', 'list', 'edit', 'check', 'delete','excel')) ? $action : '';
复制代码


2、dede empletsdiy_main.htm 找到
  1. 前台预览</a>
复制代码
在它的下面加入一行

  1. <a href="diy_list.php?action=excel&diyid={dede:field.diyid/}" target="_blank">导出表单Excel</a>
复制代码


3、dedediy_list.php 找到
  1. else
  2. {
  3.     showmsg('未定义操作', "-1");
  4. }
复制代码
在它的上面加入

  1. else if($action == 'excel')
  2. {
  3. header("Content-type:application/vnd.ms-excel");
  4. header("Content-Disposition:attachment;filename={$diy->name}_".date("Y-m-d").".xls");
  5. $fieldlist = $diy->getFieldList();
  6. echo "<table><tr>";
  7. foreach($fieldlist as $field=>$fielddata)
  8. {
  9. echo "<th>{$fielddata[0]}</th>";
  10. }
  11. echo "<th>状态</th>";
  12. echo "</tr>";
  13. $sql = "SELECT * FROM {$diy->table} ORDER BY id DESC";
  14. $dsql->SetQuery($sql);
  15. $dsql->Execute('t');
  16. while($arr = $dsql->GetArray('t'))
  17. {
  18. echo "<tr>";
  19. foreach($fieldlist as $key => $field)
  20. {
  21. echo "<td>".$arr[$key]."</td>";
  22. }
  23. $status = $arr['ifcheck'] == 1 ? '已审核' : '未审核';
  24. echo "<td>".$status."</td>";
  25. echo "</tr>";
  26. }
  27. echo "</table>";
  28. }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 18:26 , Processed in 0.057559 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表