去年因为做一个项目,遇到向DRUPAL中导入EXCEL数据的问题,顺手写了FEEDS EXCEL模块教程。到目前为止,阅读量已有2000+,看来不少网友都遇到了这类需求。
然而,今天我想说的是,对不住大家了,我把大伙都引到沟里去了。鄙视一下我自己
事情是这样的。12月1日,DRUPALCHINA群友[佛山]MJ问了我一个他在使用FEEDS EXCEL模块时遇到的问题,很不幸,我也不知道怎么解决。后来我到DRUPAL主站搜了一下,推荐他试试FEEDS XLS模块,第二天他反馈说很好用。昨晚我自己测试了一下,果然导入EXCEL文件,用FEEDS XLS才是王道!王道。。。王道。。。。。。而且还发现,这个模块居然我去年就下载到服务器上了,时间比我测试FEEDS EXCEL还早3天!当时怎么没用它呢?这脑子是进了多少水啊!!!
从今以后,导入EXCEL文件,一定要用
FEEDS XLS!
FEEDS XLS!
FEEDS XLS!
重要的事情再说三遍。
模块的使用跟导入CSV文件一样简单。简单说两点,其他都一样。
一是选择解析器时,如果FEEDS EXCEL和FEEDS XLS模块都安装了,注意不要选错,要选下图箭头所指的这个。
二是如果EXCEL文件第一行是标题行的话,解析器设置就不用改了,保持默认就好。这样做字段映射时,数据源直接填写表中的标题就行了。
FEEDS XLS模块有几个优点:
请看到这个帖子的网友互相转告,让FEEDS EXCEL见鬼去吧。此处应该有掌声。嗯,或者是扔砖声。
一个小BUG
今天发现FEEDS XLS模块一个小BUG。如果导入的文件只有一行标题和一行数据,导入时会报错,提示没有数据,但只要多于一行就能正常导入。
也可以使用开发版。开发版还解决了几个其他的问题。
日期导入有BUG
非常不幸的是,这个模块导入日期字段时有BUG,而且至今未修复。某些情况下,导入后的日期会变为1970年1月1日,这可能会大大限制模块的使用。详见https://www.drupal.org/node/1461832
PHPExcel库安装问题
Feeds XLS模块需要PHPExcel库支持,在项目网页上,这个库的链接指向了Github,但我用的是http://phpexcel.codeplex.com/上的下载包,版本1.8.0,解压后放在sites/all/libraries/PHPExcel/下面,然后把Classes目录下的所有文件都移动到这个目录下。Classes目录下才是库文件。
Github上的版本新,我没有测试,使用时也要注意移动Classes目录下的文件。
库文件这样移动,会影响第三方对PHPEXCEL的使用的。
库文件这样移动,会影响第三方对PHPEXCEL的使用的。
feeds xls官网介绍它时可以将phpexcel库放在 sites/all/libraries/PHPExcel/ 和The PHPExcel library should be installed, either in a location that the Libraries module can find (if the Libraries module is installed), or in the feeds_xls folder. The folder should be renamed "PHPExcel".
这段话讲也能放到模块本身这里。
日期问题解决了
原来2015-07-24日发布的7.x-1.x-dev版已经解决了,当时看issue列表,有人提供了个补丁,其实补丁反而是错的,根本不需要。
另外也碰到一个问题在选择器对Excel的行数选择时不能保存
另外也碰到一个问题在选择器对Excel的行数选择时不能保存超过100行的选项,官网上没有相关的反馈。我用的7.x-1.2版本的,看来我也来试下开发版去。