织梦提交表单数据导出到Excel表格

今天帮朋友给织梦后台添加数据导出的功能,看到网上很多分享的方法还需要定义字段,感觉比较麻烦,最终找到了这种一劳永逸的方法,支持所有的表单导出而无需定义字段。演示效果如下:

织梦提交表单数据导出到Excel表格

修改步骤:

1、打开\dede\templets\diy_main.htm 找到“前台预览”,在下面加上:

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

2、打开\dede\diy_list.php,修改第14行:

  1. $action = isset($action) && in_array($actionarray('post', 'list', 'edit', 'check', 'delete','excel')) ? $action : '';

同样在这个文件中找到如下代码:

  1.  else{
  2.     showmsg('未定义操作', "-1");
  3. }

在代码上边添加:

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

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!