找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1520|回复: 0

[分享] 织梦dedecms excel导入mysql数据库方法

[复制链接]
发表于 2018-7-29 17:27:01 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
网上的方法不少,能用的不多,相信以下方法是最靠谱的,值得记录.

一,先进phpmyadmin数据库管理,导出空表,表的格式为csv,然后用记事本打开,注意要统一编码,数据库是utf-8,就把csv转为utf-8编码,否则,中文没法正常导入.

二,excel中的数据列,调整一下顺序,与数据库中的字段顺序相同.方便操作.

三,excel中的列数.与MySQL中的字段数要一致.怎么保持一致,方法一,如果mysql中有些字段本身就是空值,为了方便导入excel,可以先删除这个字段,导入成功后,再重新建立这些字段就是.方法二,或在excel中插入列,给特定的值,好像不方便给空值吧?否则,复制到csv中后,会出现大段的空白,导入时,可能会提示 CSV 输入的第 1 行字段数有错。.

四,excel表格调整完成后,把要导入的行列值,全部复制到事先建立好的csv中,默认每个字段值是以特殊的空格分隔的吧?建议批量替换成英文逗号.然后保存,



五,进mysql,找到要导入的表,点击上面的导入,然后选择csv格式的文件,字段分隔符选择逗号,如上图,导入即可.

六,最后重新建立删除过的字段

==================================================================

以上是以织梦cms为例.即先把数据导入到附加表中.但是,织梦系统,还要求同时更新文章主表archives及精简表arctiny,更新方法为.

要更新精简表, 可以在include\extend.func.PHP中写一个函数.

  1. function addon_to_arctiny(){

  2. global $dsql;

  3. for ($x=5; $x<470; $x++) {//循环,假如表格中已经有四条记录了, 所以我们从第五条开始插入.最多插入到编号为469

  4. $row2= $dsql->GetOne("SELECT jiancheng FROM `dede_addon18` where  aid='$x'");

  5. //查询分店的简称


  6. //die(mysql_error());

  7. //跟踪错误

  8. //print_r($row2);exit;

  9. $row3=$row2['jiancheng'];

  10.   

  11.   //$query="UPDATE `dede_archives` SET title='$row3' where  id='$x'";//单独对一个字段进行修改的语句示例

  12.   $query = "INSERT INTO `dede_arctiny` (id,typeid,typeid2,channel,arcrank,sortrank,senddate,mid)

  13.   Values('$x',2,0,18,0,1455680144,1455671192,1)";

  14.    

  15.   $dsql->ExecuteNoneQuery($query);

  16.   //die(mysql_error());

  17. }

  18. }
复制代码


然后在模板中 这样就可以运行这个函数了.

  1. {dede:global.cfg_webname runphp='yes' function="addon_to_arctiny()"/}
复制代码


插入主表方法也一样,如下

  1. //附加表数据导入主表

  2. function addon_to_archives(){

  3. global $dsql;

  4. for ($x=5; $x<470; $x++) {

  5. $row2= $dsql->GetOne("SELECT jiancheng FROM `dede_addon18` where  aid='$x'");

  6.   

  7. //die(mysql_error());

  8. //print_r($row2);exit;

  9. $row3=$row2['jiancheng'];

  10.    $query = "INSERT INTO `dede_archives` (id,typeid,typeid2,

  11.    sortrank,flag,ismake,channel,arcrank,click,money,title,

  12.    shorttitle,color,writer,source,litpic,pubdate,senddate,mid,keywords,

  13.    lastpost,scores,goodpost,badpost,voteid,notpost,description,filename,

  14.    dutyadmin,tackid,mtype,weight

  15.    ) Values('$x',

  16.    '2',

  17.    '0',

  18.   1455670875,

  19.    '',

  20.    1,18,0,0,0,'$row3',

  21.    '','','admin','none','',1455670875,1455670875,1,'',

  22.    0,0,0,0,0,0,'','',1,0,0,'$x'

  23.    )";
  24.   

  25.   //$query="UPDATE `dede_archives` SET title='$row3' where  id='$x'";//单独对标题进行更新调整


  26.   $dsql->ExecuteNoneQuery($query);

  27. }

  28. }
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

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

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-30 15:29 , Processed in 0.038107 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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