乖兔博客

乖兔 > CMS系统 > 织梦dedecms自定义表单添加导出excel表格功能

织梦dedecms自定义表单添加导出excel表格功能

乖兔 更新于: 2021-04-04 分类:CMS系统 评论 ( 0 )

织梦cms有个很实用的功能:自定义表单。使用自定义表单功能可以在前台实现很多不同格式的数据提交需求,比如访客需求记录、学员报名表单等等。通过简单的二次开发,添加dedecms自定义表单自动邮件通知,还可以实现访客提交表单数据后自动发送通知给网站维护人员的邮箱,避免错过信息。

织梦cms自定义表单导出到Excel.jpg

但是,织梦只是一套网站cms程序,并不适合做数据分析,如果一天内有成百上千个数据需要处理的话,一条条复制到Excel无疑是一项艰难的工作,今天就讲一下,怎么通过对dede程序的二次开发来实现将自定义表单批量导出到Excel表格里面。

dedecms自定义表单导出Excel涉及修改的文件:

  • \dede\templets\diy_main.htm

  • \dede\diy_list.php

修改步骤:

打开\dede\templets\diy_main.htm搜索前台预览,在他下面另起一行添加下面代码

&nbsp;|&nbsp;<a href='diy_list.php?action=excel&diyid={dede:field.diyid/}' target="_blank">导出表单Excel</a>

修改后保存,然后打开\dede\diy_list.php搜索

'post', 'list', 'edit', 'check', 'delete'

修改成

'post', 'list', 'edit', 'check', 'delete','excel'

在文件的最后找到

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

在他的前面添加以下代码

elseif($action == 'excel')
{    
	ob_end_clean();//清除缓冲区,避免乱码
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:attachment;filename={$diy->name}_".date("Y-m-d").".xls");
	print(chr(0xEF).chr(0xBB).chr(0xBF));//清除bom
    $fieldlist = $diy->getFieldList();
    echo "<table><tr>";
    foreach($fieldlist as $field=>$fielddata)
    {
        echo "<th>{$fielddata[0]}</th>";
    }
    echo "<th>状态</th>";
    echo "</tr>";
    $sql = "SELECT * FROM {$diy->table} ORDER BY id DESC";
    $dsql->SetQuery($sql);
    $dsql->Execute('t');
    while($arr = $dsql->GetArray('t'))
    {
        echo "<tr>";
        foreach($fieldlist as $key => $field)
        {
            echo "<td>".$arr[$key]."</td>";
        }
    $status = $arr['ifcheck'] == 1 ? '已审核' : '未审核';
    echo "<td>".$status."</td>";
    echo "</tr>";
    }
    echo "</table>";
}

保存后,在网站后台刷新下就可以看到导出表单Excel选项了。

打赏

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

    奇书铺小说:www.qishupu.com

    短信平台:www.xinnuohang.com

    短信公司:www.duanxin99.com

    福中教育网:www.jxfuzhong.cn

    汽车网:www.miaomudu.com

    短信网:www.xinnuohang.com

    好学教育:www.haoxue360.com

    啊啊啊:www.fwceo.com.cn

    彪彪:老版迅雷可用,就是比较慢。

    士大夫:第一个可以用!

    士大夫:谢谢大佬

    嘿嘿:劲儿劲儿

    人来人往:出现这一错误,安装这个方法解决了,感谢!

    HTML:权限修改对了吗

    织梦:权限修改为777了,没能解决

    后悔:安装这个方法修改了权限,还是不行呢

    44:是呀,旧版的解析不了迅雷链接

    1:第三个没啥用

    逐风戏雨:赞一个,迅雷5.8好用,感谢分享!

    一朵:感谢,我的是ftp软件里面怎么看都是644权限,但是到织梦后台就提示修改。按照这个方法修改后不再提示了。

    ada:好耶,可以用

    ada:用管理员身份绿了半天希望能成

    大在在:有病毒。。。

    K9999:第三个方法好用,第一个不能用(只尝试了一次),第二个现在很多都没有口令

    自学成才:你好 请问有最新版本的教程吗

    A:啊不对 是我下错了文件 画质还是一样的 但是方法一还行下载不了一些版权原因的

    A:方法一真的可以!!谢谢楼主 就是本来1080的会变成普通画质

    大白兔奶糖:这种的估计是种子没有资源

    大白兔奶糖:不过现在又装回来了,感觉只要种子有资源的5.8迅雷就能下载,没资源的换啥版本都不能下载!

    大白兔奶糖:我和你一样,后来发现是没退出迅雷直接卸载导致的,打开迅雷把下载任务删除只有又卸载就删掉了。

    初:楼主,为什么迅雷5.8打开那个卸载后,这个文件夹一直删除不了呀?它下载不了东西而且还和最新的迅雷下载冲突, 最新的也下载不了。。。

    大兵:下载了迅雷5.8但是 nbsp; 也显示正在下载 nbsp; 但是不下载内容

    聆听你的声音:为了破解版权限制,最终还是用上了旧版迅雷,确实管用!界面好复古的样子。不过很简洁,也没广告。另外旧版的迅雷5.8没法登录账号,有点小可惜。

    爽:官方离线安装版本,安全放心!主要是使用官方的安装装工具下载安装实在是太慢了,还是这个理线安装包比较爽!

    mising:很方便,自动插入基本的html框架代码,省去很多重复机械的工作

    请教:请教一下,win7修改了好像还是不能用,有没有具体教程

    米linna:同楼上,我一般都会禁用织梦的模板缓存功能。但是/data/tplcache/目录下面依旧会不断的新增文件,体积都不大,但是文件数量却很多!感谢楼主分享删除方法!

    彩虹泡泡糖:mac可以用迅雷口令解决

    谢谢:mac呢?????

    anon:修改hosts没有用

    puma:试了一下还是不行

    笑笑:host方法有用,现在可以下载了,感谢分享!

    微亚是只猫:win10修改这个文件需要管理员权限的,就是以管理员方式打开,不然修改不成功。另外这个方法解决版权方要求的问题修改后应该是要重启迅雷重新添加下载任务。

    戴老板:我试了第一个方法不行

    小便当:一直在找这款外星人主题,感谢楼主分享!

    大写的C:一直用这个外星人主题,整个色调都很是喜欢~~

    酱紫:很不错,学习了。

    花瓜:不建议去掉织梦后台的验证码,毕竟很多时候设置的密码都不是很复杂,被暴力破解的话就不好了。

    瓜子:一楼说的不错,现在很多的老牌cms都不怎么更新了,这个开源模式的路是不是快走到头了?

    利强:怎么说呢,织梦出的这个问答模块以前还算是很实用的,现在已经感觉很鸡肋了。作为一个插件不如作为一个系统模型卡发出来更加强大。但是现在dedecms官网不光问答模块,就连主程序也已经不怎么更新了。可能是做出这么好的cms程序,又没多少人付费,没有好的变现模式,心凉了吧。毕竟企业都是要生存的。

    木须肉:感谢楼主分享教程,已经用上了,很不错,实现备份了数据库,不过并没有出现什么错误!

    胡乐乐:这个方法很不错,节省了大量的时间,瞬间感觉自己成了技术牛人,有一种人生开挂的感觉,哈哈。

    鹿爷:确实很不错,对我等刚刚接触ftp软件操作的的小菜鸟,非常实用!

    叶新楼:很不错的教程,简单明了,很多人推荐一些别的ftp软件,比如说FileZilla之类的,尝试了虽然他们都很强大,但是我还是觉得flashfxp最好用,可能是每个人的习惯不一样吧。

    你这个瓜娃子:这恐怕是我见过的最简单给力的flashfxp教程了,哈哈,按照这个一步步操作,把我家小盆友不费吹灰之力的轻松教会了!

    米:感谢楼主分享,非常实用

    Linda:很漂亮的css表格样式,感谢楼主分享。希望看到更多精美的css样式分享出来!

    取个什么名字呢?:原来还可以从指定位置来截取指定长度字符串的,受教了。

    取个什么名字呢?:感谢博主的分享,对于小白来说都是一些拿来就可以上手使用的教程。

    取个什么名字呢?:都很实用,介绍简洁明了,代码整理的也很规范,一看就懂。赞赞赞

    取个什么名字?:太全了,收藏保存一下,以备不时之需!

    米启玲:php的这个随机方式挺经典的,可以应用到很多随机抽奖类的小程序中。

    米勒:随机数真的很有用处,可以实现各种各样有意思的小功能,绝对是用php开发各种小工具必备技能...

    猕猴不是桃:第一次使用mt_rand功能,非常方便,以前都是自己写一堆逻辑来实现的,不知道这个mt_rand能不够实现真正意义上的随机数,可以的话以后php从数组中随机取值和php控制随机数的概率的工作做起来就更简单了。

    卡布斯基:正好需要用的php输出随机数的功能就在这里看到了,make一下!

    叙叙还是个孩子:第一个方法很管用,自从修改了host文件之后,这个讨厌的提示就在也没出现过了。整个心情都舒畅了呢!

    小蛮腰:没错,我这边也这样。感觉是网络运营商的问题吧?

    李彤:现在dns污染太厉害了,不知道是大家都有这个问题还是只哟我们这边是这样。还经常莫名其妙的弹各种广告。

    小蛮腰:我的就经常遇到这个DNS_PROBE_FINISHED_NXDOMAIN,真怀疑是网络运营商网络质量不好。

    乐奇小宝贝:感谢,正好需要这个,成功调换,节省了不少时间。

    林溪:一直在用这个功能,notepad++的这个自动插入html模板的功能真的是非常的实用,用了它,整个人都变懒了,哈哈!

    博主牛逼:博主牛逼啊,这个困扰了我几天的问题终于解决了。找了好久都没找到原因,居然最终是因为用户组问题。

    李小妹:感谢分享,我一直很纳闷,我从开始就禁用了dedecms的模板缓存功能,不知道为什么这个目录下还是会不断产生新文件。百思不得姐!

    匿名网友:我就曾经中过好几次木马,全都是被放在了/data/tplcache/这个目录下,真的很就有迷惑性,好几茬扫描后台病毒扫描出来了我都没注意它,知道有一次无聊打开文件的代码看了一下,才发现是个后门程序。隐藏的太好了,很难发现。

    最爱水煮鱼:新技能get,自从有了chrome浏览器,感觉各种小技能不断get,虽然有些小插件会拖慢浏览器的速度,但是真的是非常的方便!

    林溪:很棒的功能,从来都不知道浏览器浏览网页还能知道网页文件的更新时间的。一直都以为什么时候打开这个页面,文件的时间就会更新一次呢!

    华子:正好有个项目经常需要查询每个网页的产生时间,感谢分享!非常实用的浏览器小技能。

    木头:厉害啊,这么快就做到隔天快照了。我的网站都一年了快照还做不到天天更新。羡慕你啊!

    林西:很正常啊,其实我也会经常盼着百度秒收,哈哈,不过相信这一天很快就来了!好好做好内容好好做好基本的SEO就好了!

    乖兔:嗯呢,有时候我也这么觉得,不过还是总在心里希望百度早早收录,可能是有点急功近利了。

    林西:恭喜,我的网站跟你的差不多,也是天天都更新快照,但是收录很少而且收录的很慢,不过断后路了的排名都很不错这点还是很不错的。这说明首页快照隔天更新应该是一个很不错的表现。所以有时候也不太在意收录数量和收录速度,权重和排名才是更重要的。