一个有意思的UNICODE问题:导出excel表格

之前都是用DELPHI7,没有UNICODE的问题。后来项目使用DELPHI2010编译,客户反映,导出的EXCEL表格有些内容全是”64“。

打开代码看,没什么特别之处。

if Columns[aCol].Field.DataType in [ftWideString, ftString] then
Sheet.Columns[aCol].NumberFormat := '@';


何错之有?

这个软件,客户使用了2年。之前并没有反馈过,所以断定是UNICODE的问题。
将代码修改为 Sheet.Columns[aCol].NumberFormat := WideChar('@');错误同样存在。
再将代码修改为
Sheet.Columns[aCol].NumberFormat := AnsiChar('@'); 问题解决,可爱的UNICODE...

你可能感兴趣的:(Excel,Delphi,2010)