私はCxDBGridからExcelファイルにデータをエクスポートしています。 ファイルを作成してその中にデータをコピーできますが、列の書式設定に問題があります。私はDBからデータを取り出すので、スプレッドシートにNUMBER、VARCHAR2、DATEなどの型を反映させたいと思います。私は視覚的にマクロを作成し は、VBAコードを探しに行き、Delphiのプロジェクトでそれを複製し:Excelの列の種類と書式を設定するにはどうすればよいですか?
sheet.Columns[K+2].NumberFormat := '0,000'; //Number
sheet.Columns[K+2].NumberFormat := '@'; //Text
sheet.Columns[K+2].NumberFormat := 'm/d/yyyy'; //Date
番号の書式作品OK回のほとんどを、しかし、他の2つはありません。 生成されたファイルを開くと、テキスト列が「カスタム」タイプとして表示され、すべてのセルに「-64」と表示されます。セルを編集する場合は、実際に正しい値が表示されます。 日付は別の問題です:DBのフォーマットはdd/mm/yyyyです。そのままExcelにフィードすると、すべてがうんざりになります。私は正しい形式を設定しようとしましたが、Excelはそれを認識しません。
手がかりはありますか?
また、列幅も設定しています。それは完璧に動作します。
Developer Expressコンポーネントを参照していると思われる場合は、cxDbGridといいます。その場合は、Developer Expressが提供するExportGridToExcel()プロシージャを使用してExcelにエクスポートしていますか? –
私はそれを試みましたが、データ型の設定に問題があります。だからこそ私は手動でやりたいものです。 – asg2012
ExportGridToExcel()は、エクスポート時にデータ型や書式設定に関連する問題なく、いくつかの場所を使用します。あなたのコードを見ることなく、それがあなたのためにうまくいかなかった理由を理解することは困難です。独自のエクスポートを作成する手間を覚えるのではなく、Developer Expressサポートサイトでお手伝いできることをお伺いします。彼らのサポートは素晴らしく、通常はソリューションを手早く手に入れることができます。 –