邮件合并后数值出现多位小数的几种解决方法
在Word中使用邮件合并可以批量调用Excel工作簿中的内容,十分方便。但有时Excel单元格中的数值设置的是两位小数,而通过邮件合并后在Word中却显示为12位小数,出现这种情况,可以用下面的几种方法来解决。
方案一:修改域代码
1、打开已进行邮件合并的Word文档,按快捷键Alt+F9,将数值被转换成域代码,在域代码上单击可以看到类似下面的代码:
{ MERGEFIELD "应收款" } 。如果是Word 2007,则域代码中没有英文双引号。
2、如果要将数值保留两位小数,则在域代码后加入下列代码:
\#0.00
此时域代码被修改为: { MERGEFIELD "应收款" \#0.00 }
3、按Alt+F9,将域代码转换为数值。注意在没有单击“邮件合并”工具栏中的“上一记录”或“下一记录”按钮前,所显示的小数仍然是12位的,单击“上一记录”或“下一记录”按钮,数值就会显示为两位小数。
如果要保留3为小数,则将域代码改成:
{ MERGEFIELD "应收款" \#0.000 }
如果要将数值显示为“¥193137.25”的样式,则改为:
{ MERGEFIELD "应收款" \#¥0.00 }
优点:可以彻底解决问题,而且还可以设置需要的格式。
缺点:如果插入的域过多,有可能需要一个一个修改,比较麻烦,而且有时候只有一位小数的时候,用这种方式末尾也会用“0”占位。
方案二:修改Excel工作表
在Excel中将所需的数值用下列公式代替,在Word中进行邮件合并后就会按所设置的小数位数显示。例如要显示两位小数,数值在E2:E20区域中,将邮件合并所需的数值放到D2:D20区域,在D2单元格中输入公式:
=TEXT(E2, "0.00")
拖动填充柄到D3:D20区域,然后再进行邮件合并。保留3位小数就用下面的公式:
=TEXT(E2, "0.000")
优点:同方案一。
缺点:同方案一。
方案三:修改Excel数据区域单元格格式
右键单击Excel数据区,选择“设置单元格格式”,在“数字”选项卡中将分类栏改为“文本”即可。
优点:简单易行。
缺点:改为“文本”的单元格无法再次进行数据计算,因此建议采用此法的朋友在最后合并之前更改。
方案四:为Excel表格增加一行
在Excel中所有数据区域的上方增加一行,每个单元格中填充一个任意字母即可。
优点:简单易行。
缺点:Excel表格不美观,建议采用此法的朋友在最后合并之前更改。
应该是邮件服务器的事情吧?你用web形式发送的时候,在添加附件时系统自动检查文件类型,如果是系统觉得有危险的文件首先就屏蔽掉了。如果不是文件太大,就应该是这个问题了。用其他的邮件端软件发送,不设计到这个问题,是统一用pop3端口发送的,所以就不会屏蔽。