创buildExcel文件时数据失真

当我尝试从我的数据库传输数据时,使用查找字段到Excel工作表,它完全更改string。

例:

Sheet.Cells[l,2]:=dmOrcamentos.ztBaseOrcamento.FieldByName('MP_DESC').Text;

最终数据(在EXCEL中显示的数据):

 䡃㠠〬‰䅓⁅〱㠰 

在debugging模式下显示:

 Sheet.Cells[l,2]:=dmOrcamentos.ztBaseOrcamento.FieldByName('MP_DESC').Text = <Error> 

结果应该是:

 CH 2,00 SAE 1008 

如果我使用正常的string字段,使用特殊字符,它将更改特殊字符。

例:

 Sheet.Range['B5'] := 'DESCRIÇÃO'; 

最终数据(在EXCEL中显示的数据):

 DESCRIÃÃO 

结果应该是:

 DESCRIÇÃO 

我使用的Lazarus 1.4.2是伴随着FPC 2.6.4,火鸟2.5和Excel 2010. 该数据库没有编码,或至less它在字符集显示无。

你可以检查。 编码 iso 8959_1为拉丁字符如“Ç”。

使用ZeosDBO,假设你的连接名为Connection:

 Connection.Properties.Add ('Codepage=ISO8859_1'); Connection.Properties.Add ('Dialect=3'); 

这将接受何塞,卡尔卡,坎考斯。

希望这个作品!