CxDBGrid から Excel ファイルにデータをエクスポートしています。ファイルを作成してそこにデータをコピーすることはできますが、列の書式設定に問題があります。DB からデータを取得しているので、スプレッドシートに 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
ほとんどの場合、数値の書式設定は正常に機能しますが、他の 2 つは機能しません。生成されたファイルを開くと、テキスト列が「カスタム」タイプとして表示され、すべてのセルが「-64」と表示されます。セルを編集すると、実際には正しい値が表示されます。日付は別の問題です。DB の形式は dd/mm/yyyy であり、そのまま Excel にフィードすると、すべてが台無しになります。正しい書式を設定しようとしましたが、Excel で認識されません。
手がかりはありますか?
列幅も設定しています。それは完璧に機能します。