Estoy exportando datos de un CxDBGrid a un archivo de Excel. Puedo crear el archivo y copiar datos en él, pero estoy teniendo problemas reales con el formato de la columna. Como estoy extrayendo los datos de una base de datos, me gustaría que la hoja de cálculo refleje el tipo: NÚMERO, VARCHAR2, FECHA, etc. creé visualmente una macro, se fue a buscar el código VBA, y se replica en el proyecto de Delphi:¿Cómo configuro los tipos y el formato de columna de Excel?
sheet.Columns[K+2].NumberFormat := '0,000'; //Number
sheet.Columns[K+2].NumberFormat := '@'; //Text
sheet.Columns[K+2].NumberFormat := 'm/d/yyyy'; //Date
formato de número de obras bien la mayor parte de las veces, pero los otros dos no lo hacen. Cuando abro el archivo generado, las columnas de texto aparecen como tipo "Personalizado" y cada celda muestra "-64". Si voy a editar una celda, el valor correcto está ahí. La fecha es otro problema: el formato de la base de datos es dd/mm/aaaa y si lo paso a Excel tal como está, todo se complica. Intenté establecer el formato correcto, pero Excel no lo reconoce.
Alguna pista?
También estoy configurando el ancho de la columna. Eso funciona a la perfección.
Supongo que cuando dice cxDbGrid se refiere a los componentes de Developer Express. Si es así, ¿está exportando a Excel utilizando el procedimiento ExportGridToExcel() provisto por Developer Express? –
Lo he intentado pero tiene problemas para configurar el tipo de datos. Es por eso que quiero hacer las cosas manualmente – asg2012
utilizo ExportGridToExcel() una serie de lugares sin ningún tipo de problemas relacionados con los tipos de datos o el formato de exportación. Sin ver su código es difícil descubrir por qué no funcionó para usted. En lugar de tomarse la molestia de escribir su propia exportación, le preguntaría en el sitio de soporte de Developer Express si pueden ayudarlo. Su soporte es excelente y generalmente pueden ayudarlo con una solución muy rápidamente. –