gpt4 book ai didi

delphi - 如何设置 Excel 列类型和格式?

转载 作者:行者123 更新时间:2023-12-03 15:09:20 25 4
gpt4 key购买 nike

我正在将数据从 CxDBGrid 导出到 Excel 文件。我可以创建文件并复制其中的数据,但我在列格式方面遇到了真正的麻烦。由于我从数据库中提取数据,因此我希望电子表格能够反射(reflect)类型:NUMBER、VARCHAR2、DATE 等。我直观地创建了一个宏,去查找 VBA 代码,并将其复制到 Delphi 项目中:

sheet.Columns[K+2].NumberFormat := '0,000'; //Number
sheet.Columns[K+2].NumberFormat := '@'; //Text
sheet.Columns[K+2].NumberFormat := 'm/d/yyyy'; //Date

数字格式在大多数情况下都可以正常工作,但其他两个则不行。当我打开生成的文件时,文本列显示为“自定义”类型,每个单元格显示“-64”。如果我去编辑一个单元格,正确的值实际上就在那里。日期是另一个问题:数据库的格式是 dd/mm/yyyy,如果我将其按原样输入 Excel,它就会变得一团糟。我尝试设置正确的格式,但 Excel 无法识别它。

有什么线索吗?

我还设置了列宽。效果完美。

最佳答案

问题是分配的值是 Unicode 字符串。试试这个:

sheet.Columns[K+2].NumberFormat := AnsiChar('@');
sheet.Columns[K+2].NumberFormat := AnsiString('m/d/yyyy');

关于delphi - 如何设置 Excel 列类型和格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com