我使用后期绑定将数字作为字符串 (Cell.Value := '2,5') 发送到 Excel 2007。实际代码更像:
var CellVal: OLEVariant;
...
CellVal := FloatToStr(2.5); // Regionally formatted.
Cell.Value := CellVal;
在我的 Excel 97 版本中,默认情况下,该值将被格式化为“常规”,并将被视为一个数字。使用 Excel 2007 的客户最终将单元格格式设置为“标准”,Excel 似乎将其视为字符串(未正确对齐。)请注意,我正在使用区域设置来格式化数字,而 Excel 似乎正在使用默认区域设置也是如此。
如果客户只是在一个单元格中输入 2,5,它会接受它作为一个数字,如果他将剪贴板中的字符串“2,5”复制到一个单元格中,它也会被接受为一个数字。有谁知道为什么通过自动化接口发送到 Excel 的字符串值最终以非数字形式出现?
感谢您的任何建议!编辑为客户指定区域小数分隔符为“,”。