FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Stringrid a Excel
Hola a todos.
Soy algo nuevo en delphi, asì que Espero que alguien me pueda ayudar con este problema: Quiero exportar los datos de un StringGrid a un archivo de excel, he encontrado metodos para hacerlo pero lo hacen desde un Ttable o utilizando hojas de base de datos, pero lo unico que quiero es guardar los datos de mi string grid en un archivo de excel, no quiero mandar ni formato ni tipo ni nada, simplemente los datos en texto plano. Tambien me he dado cuenta que para ello tu versiòn de excel debe coincidir con la del server del programa, es cierto? de que manera se puede arreglar? Alguien me puede dar alguna idea de como hacerlo o si tienen algun ejemplo sean tan amables de enviarmelo. Gracias de antemano. |
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
Muchas Gracias
Gracias Neftalí por el ejemplo, lo probaré enseguida.
|
#4
|
||||
|
||||
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 |
#5
|
||||
|
||||
Para leerlo en Excel, además del punto y coma yo encerraría cada valor entre comillas dobles.
// Saludos |
#6
|
||||
|
||||
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. |
#7
|
|||
|
|||
Cita:
|
#8
|
|||
|
|||
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; |
#9
|
||||
|
||||
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. |
#10
|
|||
|
|||
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. |
#11
|
|||
|
|||
"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. |
#12
|
||||
|
||||
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 |
#13
|
||||
|
||||
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. |
#14
|
||||
|
||||
ya lo solucione...
tube que cambiar esto
por esto otro
__________________
BlueSteel |
#15
|
||||
|
||||
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. |
#16
|
||||
|
||||
ya pude abrir el archivo con el notepad...
lo hice así
solo me falta saber como le pongo que en el archivo, las columnas sean separadas por punto y como ";".. gracias
__________________
BlueSteel |
#17
|
||||
|
||||
Cita:
__________________
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. |
#18
|
||||
|
||||
gracias.. ya lo habia intentado y me funciono bien...
__________________
BlueSteel |
#19
|
|||
|
|||
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. |
|
|
|