Discuz! 中导出数据为 CSV 格式文件需要注意的事项

Discuz二次开发 专栏收录该内容
2 篇文章 0 订阅

今天做数据导出的时候出现了以下问题,导出没有问题,只是在数据的末尾莫名其妙的多出了三行代码:

</div>
</body>
</html>

花了一中午的时间终于找到了原因所在:在插件中导出数据需要注意由于在插件选项卡下,默认输出了 cpheader() 所以在输出之前需要 ob_end_clean(); 来清空之前的输出缓存,避免文件中带入了 html 头,同时由于 cpheader() 中将 cpfooter() 注册成为了结束函数,会自动在文件输出的末尾加上</div></body></html>为了避免出现这三行代码,需要在插件脚本中增加 

define('FOOTERDISABLED',1);
这样 cpfooter() 就不会输出结尾数据了。


既然说到这里了,就多说一些解决问题中总结的一些知识吧:

在很多时候我们需要导出 excle 文件来作为数据的统计,但是由于导出 excle 文件需要外部类文件的支持,所以 CSV 文件就成为了我们最好的选择。

一般情况下导出 CSV 文件的流程为:在 CSV 文件中两个单元格之内的东西用半角逗号隔开(,),程序中输出 \n 为换行。所以对于输出的文本,每行文本需要做一些过滤,将每行中

的 \n  \r\n \r 都替换掉,不然会造成版式混乱。另外,要注意输出的文本需要为 GBK 编码,不然会造成导出的文件有乱码。


解决问题的过程中从网上看到这样的问题:

问题一:我从discuz的数据表里调出帖子的数据,将它显示在一个新的页面,由于数据里存在html标签,显示的效果达不到要求,没有将html标签转换。如何转换html标签,求懂discuz的高手解决,谢谢了!

有人回答:如果要过滤,请用 strip_tags($content); 如果要替换某些内容,请用 preg_replace(),可能在某些情况下这种解决方法管用,但是在dz中我试了,但是没有实现我想要的效果,如果你遇到类似的问题,不妨一试,所不定能会起作用

问题二:写了一个php导出csv文档的方法,但是发现到处的csv文档中出现了html源码,想问一下如何去除html源码。

有人回答:

1、输出html的时候 exit只能过滤后面的html标签,但是却不能消除文档一开始就写入的html标签,现在主要的问题就是如何过滤调用导出csv方法之前的html标签。 

2、输出html的时候 exit就好

3、结尾die掉

这三种回答或许在其他的地方可以使用,但是在dz中好像没有效果,所以不能说它是错的。


另外还有就是我导出数据到csv的时候,如果是纯数据,比如12345678912(数据够大吧),导入到csv时会以科学计算法的方式显示在文件中,经过N久的尝试,有从网上找了N多的方法,终于功夫不负有心人,找到了一种比较好的解决办法,描述如下:

如果出现我刚才说的这种情况,可以在数据的前面或者后面加上"\t",记得要用双引号引起来哦,不然有可能不起作用的,至于为什么用双引号引起来,我也不知道为什么,还请自己研究……


  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
VeryIDE Bee 2.3 UTF8 版本更新日志: 2016-06-26 更新远程附件增加被动上传模式(PASV); 更新投票提交页面的IP数据安全过滤; 更新管理员列表页增加论坛关联信息输出; 更新增加了分类信息电话号码和所在地字段长度; 更新将城市名称变更至全局设置,取消模块单独设置; 更新分类信息可以将商业推广投放至大类下的全部子类; 更新分类信息可以单独设置前台面包屑名称; 更新分类信息可以细化到每个用户组的信息发布量限制; 更新分类信息分类项可以添加外部链接(无法在此发布信息); 更新为专题通用模板增加了全局评论框,用于用户评论发布; 修正Win平台下反斜线路径可能导致的安装错误; 修正Win平台下导出CSV文件可能乱码的问题; 修正专题在多页面多区块移动时无法正常定位的问题; 修正表单联动选项不能正常处理半角括号的问题; 修正表单和试题的随机选项组和子选项无效的问题; 修正广告位添加时出错可能导致的表单验证错误; 修正投票项目详细页描述字段不能正常显示的问题; 修正信纸在PHP5.5因部分内容没有ICONV导致空白输出; 修正活动前台页没有正常按排序显示的问题; 修正专题评论在非Win环境下提交时可能导致无法解析的问题; 修正广告编辑页共享广告无法操作的问题; 修正广告位修改时,无法正常保存配置的问题; 修正试题没有对必选项进行判断的问题; 优化专题模板和模块变量的提取效率和准确性; 优化因邮件配置为空可能导致的模块打不开错误; 优化将缓存和模板编译目录进行了合并,将静态文件合并; 优化投票模块索引性能,增加代理IP字段输出; 优化轮换广告位展示细节,增加数字控件; 优化文件特征对比工具,非GBK编码特征更准确; VeryIDE Bee 互动营销平台是基于社区互动平台,内置有广告管理、报名表单,投票系统和专题管理等模块。VeryIDE Bee 可以看作是 VeryIDE Apps 的升级版,针对用户体验、界面、第三方整合和模块机制作了特别优化。支持第三方程序整合:DiscuzDiscuzX、PHPWind,可以实现表单、投票等用户限制。 VeryIDE Bee 互动营销平台特别适用于地方社区和垂直性网站,成功案例包括:化龙巷、柒零叁、北海365、烟台论坛和湖北网等等地方网站。
乐度网上商城系统是将商品展示、购物管理、支付管理、网站推广、销售分析等功能相结合,并提供了简易的操作、丰富的功能和完善的权限管理,快速让用户建立个性化的网上商店,为用户提供了一个低成本、高效率的网上商店建设方案。 Lodoeshop™全新乐度网上商城系统的卓越功能,让你轻松快速创建个性化网上商店。精美多变的模板、多维的商品展示技术、安全的在线支付、智能化的销售分析、领先的搜索引擎优化(SEO)技术、采用『钢盾?』多层保护技术、集群众力量的"推广体系”、采用乐度独有的『人人通?』傻瓜式管理模块。让你的网上商店更快、更安全、更稳定、更易用。卓越的性能和易用性,满足你的现在到未来需求.为你带来最佳投资回报。领先的网上商城系统,只能乐度为你提供。更多功能、更好服务、更炫模板、更多惊喜……将不断的推出。 Lodoeshop™网上商城系统拥有多种支付方式:预付款支付,购物券支付,银行支付,货到付款以及集成包括支付宝、腾讯财付通、网银在线、贝宝、快钱、首信易付、易宝、云网支付等数十种在线网银支付接口,每种支付方式均可开关,自定义,管理非常方便。并集成了Lodoeshop™网上商城系统独有代金券生成功能,可以实时生成代金券,可以作为购物券使用。全部过程自动实现,客户鼠标一点,交易轻松完成。   支持虚拟商品 全新的Lodoeshop™乐度购物系统不仅支持实物商品销售,而且还支持虚拟商品,比如游戏点卡、电话卡等虚拟商品的销售;   内置精美模板 全新的Lodoeshop™全新乐度网上商城系统内置多套精美的网上商店专业模板,采用不同的模板,即可以瞬间快速建立不同外观的网上商店;内置模板将持续不断的新增!   多语言版本 全新的Lodoeshop™ 全新乐度购物系统为多语言版本,可以轻松建立简体文、繁体文的网上商店,也可根据用户具体需要定制其他任意语言文字的网上商店;   多模式用户购物方式 全新的Lodoeshop™ 全新乐度网上商城系统允许多种模式的购物方式:注册会员才能购物、非注册会员购物、直接购买、以及不同的会员级别享受不同的价格,可以适合零售和批发的所有需求。   到货通知功能 全新的Lodoeshop™ 乐度网上商城系统具有到货通知功能,当商品的库存为零时,后台如果没有设为自动下架的话,前台购买按纽就会变为到货通知按纽,当用户点击到货通知按纽时,页到会弹出一页到货通知登记页面,登记用户当此商品有货时,系统后台会以电子邮件的形式通知此用户此商品已到货,请及时购买。   商品批量上传和下载 全新的Lodoeshop™ 乐度网上商城系统后台具有商品批量上传和下载功能;后台商品可以批量导入或导出为.csv格式文件,可以与淘宝网等拍卖网互通数据,实现商品数据共享,提高工作效率,节省维护成本。   商品分类推荐生成代码功能 全新的Lodoeshop™ 全新乐度购物系统后台可以生成任意分类推荐代码,可以按产品热卖、特价、最新等属性,以及排数和列数,滚动的方式等生成代码,此代码可以插在本商城前台的任一页面里,如可放在首页做分类推荐等;也可以插在外部网站做为广告宣传。只要您会灵活应用,就可以有很大扩展空间,让你的网店更具特色。   论坛等第三方程序整合接口功能 全新的Lodoeshop™ 全新乐度网上商城系统留有第三方程序整合接口,如论坛系统等接口,只要第三方程序也有相应的接口,就可以实现用户资料共享,一次注册可以同时登录网店管理心和第三方程序系统。目前可以整合动网论坛、Discuz.com论坛等主流第三方程序。   搜索引擎优化工具 全新的Lodoeshop™ 全新乐度购物系统后台集成了目前先进搜索引擎收录情况分析工具,可在后台在线分析商家的网上商店被国际上各大搜索引擎收入情况,谷歌搜索引擎Google pagerank (PR值)情况,以及Alexa (世界排名)情况,并以列表形式一目了然的展现在你面前,让你时时刻刻掌握网店推广优化情况。   Google SiteMap网站地图生成工具 全新的Lodoeshop™ 全新乐度网上商城系统后台可以在线即时生成Google SiteMap网站地图,加入了Google SiteMap文件的网站将更有利于Google网页爬行机器人的爬行索引,这样将提高索引网站内容的效率和准确度。 有利于搜索引擎优化收入,是网站优化并不缺少的有力工具。详细请看Google SiteMap的官方说明。   界面与代码分离技术 全新的Lodoeshop™ 全新乐度购物系统程序代码与界面分离开来,这样前台界面可以方便的随意修改而不需要考虑程序代码的因素,从而达到丰富的界面效果来满足不同用户的个性化需求,并且前台界面还可以通过系统后台的模板编辑功能进行在线编辑修改,更方便的使前台界面随时随地的根据用户的自身要求来做出讯速的修改和编辑。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

aliang702

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值