以下是引用qee用在2007-2-8 14:19:49的发言:发贴后看到Long_III兄的贴子,方法是可行的.以前我在别的场合用过类似的变通. 参考:邮件合并问题 qee用版主的邮件合并问题 这贴子我看到太迟了,分析得这么透彻,我以前怎么就不知道有这个网站呀 (如果仅就楼主的问题,似乎只用EXCEL也可以完成吧.一张表用做现在的WORD,一张表存数据,条件格式,最多加个控件,配合函数应该是可以. 再说楼主的问题,原因细说起来比较复杂,我也说不好,说几句供你参考.由于合并邮件是通过SQL语言规范与外部数据连接的.SQL语言设计主要是针对关系数据库,EXCEL本不在此列,兼容EXCEL是后补进去的,最致命的一点是EXCEL的列无法保证数据类型的一致,"常规"是变体数据,SQL需要去猜,浮点数的误差是在所难免的.这个"猜",网上流行的说法是根据数据的开始7行来决定数据类型,我不知此说法的原始出处,我的经验,好象只根据第一行数据去猜的,或许是我的理解有误,且不去管它.解决办法: 一种是使用域开关设置(请参考WORD的帮助),此方法的缺点是格式被完全统一了,如果设两位小数,原来的93会变成93.00,空白会变成0.00;第二种方法是强制设源数据列为文本格式,这样可以保证和数据源格式一致,如果数据比较多,原来的数据全部调整会比较麻烦,甚至其它相关列也要调整,甚至不允许;第三种方法,是本人推荐的方法,在原来数据行(第二行)的前面插入一空白行,新插入行即是第一行数据,将该行所有数据区域的单元格手工输入一文本字符,比如字母A(也可以不必全输入,只要输入要引用的列就可以了),如果想美观,可以隐藏.用的时候忽略它就是了.原理前面已经说了.) ps:个人原创观点,仅供参考 |