创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');
这将接受何塞,卡尔卡,坎考斯。
希望这个作品!