FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Creo que lo más fácil es que exportes el contenido del StringGrid a CSV (archivo separado por comas); Éstos ficheros se abren directamente desde Excel sin problemas (independientemente de la versión).
Ésta código guarda el contenido del StringGrid en el portapapeles, pero cambiando la última línea (1)/(2) se puede hacer que lo guarde en un fichero .CSV
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#2
|
||||
|
||||
Muchas Gracias
Gracias Neftalí por el ejemplo, lo probaré enseguida.
|
#3
|
||||
|
||||
Hola
si, efectivamente pero debo aclarar que no es por coma (,) si no por punto y coma (. Puedes crear un archivo txt conde cada columna este separada por ;
y luego le cambias la extencion a csv. seria algo asi 1;2;3;4 5;6;7;8 en exel quedaria 1 2 3 4 5 6 7 8 suerte |
#4
|
||||
|
||||
Para leerlo en Excel, además del punto y coma yo encerraría cada valor entre comillas dobles.
// Saludos |
#5
|
||||
|
||||
Agradecimiento
Ya me habia dado cuenta que el formato CSV guardandolo con comas algunas veces se abria correctamente en Excel y algunas veces aparecian todos los datos en una sola columna , pero no pensè que fuera por eso. , ahora corregiré el probema.
Una vez mas agradezco a ustedes por su ayuda y sus consejos. |
#6
|
|||
|
|||
Cita:
|
#7
|
|||
|
|||
stringgrid a excel sin dramas
aqui hay un codigo q pasa de un stringgrid a excel xo necesita tener el excel instalado, aunque ni cuenta te das q lo usa
procedure tform1.guardar(archivo:string); var celi,celj:integer; begin try try ExcelSave.Connect; ExcelWB2.ConnectTo(ExcelSave.Workbooks.Add(EmptyParam,0)); ExcelWS2.ConnectTo(ExcelWB2.Worksheets[1] as _Worksheet); stringgrid1.Visible:=false; progressbar1.Visible:=true; progressbar1.Min:=1; progressbar1.Position:=1; progressbar1.Max:=stringgrid1.ColCount*stringgrid1.RowCount; for celi:=1 to stringgrid1.ColCount do begin for celj:=1 to stringgrid1.RowCount do begin progressbar1.Position:=progressbar1.Position+1; ExcelWS2.Cells.Item[celj,celi].NumberFormat:='@';// formato de texto ExcelWS2.Cells.Item[celj,celi].value:=stringgrid1.Cells[celi, celj]; end; end; ExcelWB2.SaveAs(archivo, //nombre para guardar (string) xlNormal,'','', EmptyParam,EmptyParam,0, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam,0); stringgrid1.Visible:=true; progressbar1.Visible:=false; except Application.MessageBox('Error al guardar el archivo','Alerta',MB_ICONWARNING); end; Finally ExcelWB2.Close; ExcelSave.Quit; ExcelWS2.Disconnect; ExcelWB2.Disconnect; ExcelSave.Disconnect; end; end; donde insertamos los sgtes componentes en el form: ExcelSave: TExcelApplication; ExcelWB2: TExcelWorkbook; ExcelWS2: TExcelWorksheet; ProgressBar1: TProgressBar; StringGrid1: TStringGrid; |
#8
|
||||
|
||||
sebamora, utiliza TAG's cuando escribas código Delphi, Verás como mejora bastante.
Puedes editar tu mensaje anterior y probarlo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
|||
|
|||
hola neftali perodon por no poner tags, no tenia idea, aqui va el mismo ejemplo con tags para ver como sale. sds
donde insertamos los sgtes componentes en el form: P\D: si necesitan codigo para cargar desde excel a un stringgrid tambien tengo, solo avisen Última edición por Neftali [Germán.Estévez] fecha: 30-11-2006 a las 11:13:49. |
#10
|
|||
|
|||
"P\D: si necesitan codigo para cargar desde excel a un stringgrid tambien tengo, solo avisen"
Podrias postear este codigo, de cargar en un stringgrid un exel, disculp La molestias. |
#11
|
||||
|
||||
Cita:
tienes alguna idea de que pueda ser.. lo único que hice fue cambiar a la funcion en nombre de StringGrid1 por Grilla.... lo demás lo tengo todo igual...
__________________
BlueSteel |
#12
|
||||
|
||||
Cita:
Si te fijas el bucle for tiene lo siguiente:
Trabaja con las líneas seleccionadas. Haz la prueba seleccionando con el ratón las tres filas. Si deseas que siempre exporte todo, utiliza la propiedad RowCount para recorrerlas todas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
||||
|
||||
ya lo solucione...
tube que cambiar esto
por esto otro
__________________
BlueSteel |
#14
|
||||
|
||||
Neftali
no me habia fijado que habias respondido.. y se me habia ocurrido cambiar esas lineas... cual es el comando para que las columnas en vez de separarlas por espacio las separe por coma "," o por punto y coma... ";" ando buscando las equivalencias.. por que supongo que el #9 equivale al espacio ahh.. y se me olvidava.. estoy tratando de abrir el archivo en notepad desde delphi.. con el shellexecute.. pero como le digo que archivo es ? tengo esto pero quiero decir que esto me lo abra por el Notepad y no por el Excel...
__________________
BlueSteel Última edición por BlueSteel fecha: 25-09-2007 a las 18:38:50. |
#15
|
|||
|
|||
Exportar StringGrid a OpenOffice
Hola!
Alguien tiene alguna solucion para editar y enviar datos a OpenOffice Calc. Sin q se requiera guardar el archivo. Gracias. |
|
|
|