ExpressQuantumGrid Excel导出的FMTBCD字段没有货币符号和格式“,0.00”

时间:2011-01-12 11:27:08

标签: delphi grid devexpress

根据ExpressQuantumGrid的这个DevExpress知识库条目Excel-Exports from a cxGrid formats FMTBCD-Fields with a currency-Symbol,有必要使用TFloatField类型的计算字段将没有货币符号的FMTBCD字段导出到Excel。知识库中的示例代码按预期工作。

但是,我还需要在计算字段的导出文件中添加两位小数的精度。

  • 我尝试使用Properties = CalcEdit和DisplayFormat =“,0.00”,但导出不使用网格列的DisplayFormat

  • 我尝试设置计算字段的DisplayFormat,但导出不使用数据字段的DisplayFormat

使用6.54版。 (我也会打开支持案例)。

2 个答案:

答案 0 :(得分:1)

我有一个类似的问题,希望在没有货币符号的情况下输出货币值。最后,我能做到的唯一方法就是修改源代码。

我拿了一份cxGridExportLink.pas并将其放在项目特定的目录中。然后更改了第767行(我现在正在使用他们的订阅号53.不确定是什么版本)但是它是以下行:

if (IsCurrencyItem(AItem)...
  ... then
  VarCast(Result, AValue, varCurrency);   // <--- This line

我将varCurrency更改为varDouble并重建了我的程序。您还需要在同一目录中提供cxVer.inc的副本。

这可能会影响您的2位十进制数字要求,但这是我找到的唯一方法,到目前为止,它对我们来说效果很好。

答案 1 :(得分:0)

问题出在知识库中(自2006年起):

Export - Excel - export numeric data as numbers with the same format as in the grid

将来可能会修复它。

相关问题