Ayuda con la exportacion a Excel!!!
Publicado por guillermo (62 intervenciones) el 08/03/2006 18:53:22
Buenas!...
resulta...
***que cuando exporto unos datos de una tabla de Access a un archivo Excel....
tengo problemas para mostrar la fecha (en el Excel), me sale como-- 38285 --- cuando debiese ser 25-10-2004....por ej...
***Otra cosa que me sucede es que cuando me pregunta el CommonDialog por si quiero guardar el archivo Excel....y al darle Cancelar.....me lo guarda igual no mas....pero siempre en la carpeta Mis Documentos....(y o esta direccionada ni nada)...el caso es que al darle Cancelar...igual no mas me graba....
***El otro problema que tengo es para mostrar los encabezados de columna en el Excel...
por ej debiera tener:
RUT . NOMBRE . FECHA-INGRESO
1-9 . nombrex . 25-10-2004
Y ME SALE:
NOMBRE . FECHA-INGRESO
1-9 . nombrex . 25-10-2004
ojala salga + o - alineado para que vean la diferencia.....
igual tome algo de cod. que habia por aqui...y como soy novato en esto....de seguro puse algo mal....
ojala alguien me pueda ayudar....de antemano Muchas Gracias!!
COD DEL GUARDAR ARCHIVO:
If MsgBox(strMsg, vbQuestion + vbYesNo) = vbYes Then
strFilter = "Hoja de Calculo|*.xls"
cdlgMain.Filter = strFilter
cdlgMain.FileName = Label2 'DEFAULT_XLS_FILENAME
cdlgMain.ShowSave
If cdlgMain.FileName <> "" Then
'ObjExcel.SaveWorkspace (cdlgMain.FileName)
ObjExcel.ActiveWorkbook.SaveAs (cdlgMain.FileName)
'xls.SaveAs (cdlgMain.FileName)
strMsg = "Los datos del reporte se han guardado en un archivo: " & vbCrLf & vbCrLf
strMsg = strMsg & cdlgMain.FileName
MsgBox strMsg, vbExclamation, "Archivo Excel"
End If
End If
COD DE CUANDO TRASPASO DATOS DE ACCESS A EXCEL:
V = 5
H = 1
...
Do Until RST.EOF
ObjExcel.ActiveSheet.Cells(V, H) = RST(0)
ObjExcel.ActiveSheet.Cells(V, H + 1) = RST(1)
ObjExcel.ActiveSheet.Cells(V, H + 2) = RST(2)
ObjExcel.ActiveSheet.Cells(V, H + 3) = RST(3)
ObjExcel.ActiveSheet.Cells(V, H + 4) = RST(4)
ObjExcel.ActiveSheet.Cells(V, H + 5) = RST(5)
ObjExcel.ActiveSheet.Cells(V, H + 6) = RST(6)
ObjExcel.ActiveSheet.Cells(V, H + 7) = RST(7)
V = V + 1
RST.MoveNext
Loop
resulta...
***que cuando exporto unos datos de una tabla de Access a un archivo Excel....
tengo problemas para mostrar la fecha (en el Excel), me sale como-- 38285 --- cuando debiese ser 25-10-2004....por ej...
***Otra cosa que me sucede es que cuando me pregunta el CommonDialog por si quiero guardar el archivo Excel....y al darle Cancelar.....me lo guarda igual no mas....pero siempre en la carpeta Mis Documentos....(y o esta direccionada ni nada)...el caso es que al darle Cancelar...igual no mas me graba....
***El otro problema que tengo es para mostrar los encabezados de columna en el Excel...
por ej debiera tener:
RUT . NOMBRE . FECHA-INGRESO
1-9 . nombrex . 25-10-2004
Y ME SALE:
NOMBRE . FECHA-INGRESO
1-9 . nombrex . 25-10-2004
ojala salga + o - alineado para que vean la diferencia.....
igual tome algo de cod. que habia por aqui...y como soy novato en esto....de seguro puse algo mal....
ojala alguien me pueda ayudar....de antemano Muchas Gracias!!
COD DEL GUARDAR ARCHIVO:
If MsgBox(strMsg, vbQuestion + vbYesNo) = vbYes Then
strFilter = "Hoja de Calculo|*.xls"
cdlgMain.Filter = strFilter
cdlgMain.FileName = Label2 'DEFAULT_XLS_FILENAME
cdlgMain.ShowSave
If cdlgMain.FileName <> "" Then
'ObjExcel.SaveWorkspace (cdlgMain.FileName)
ObjExcel.ActiveWorkbook.SaveAs (cdlgMain.FileName)
'xls.SaveAs (cdlgMain.FileName)
strMsg = "Los datos del reporte se han guardado en un archivo: " & vbCrLf & vbCrLf
strMsg = strMsg & cdlgMain.FileName
MsgBox strMsg, vbExclamation, "Archivo Excel"
End If
End If
COD DE CUANDO TRASPASO DATOS DE ACCESS A EXCEL:
V = 5
H = 1
...
Do Until RST.EOF
ObjExcel.ActiveSheet.Cells(V, H) = RST(0)
ObjExcel.ActiveSheet.Cells(V, H + 1) = RST(1)
ObjExcel.ActiveSheet.Cells(V, H + 2) = RST(2)
ObjExcel.ActiveSheet.Cells(V, H + 3) = RST(3)
ObjExcel.ActiveSheet.Cells(V, H + 4) = RST(4)
ObjExcel.ActiveSheet.Cells(V, H + 5) = RST(5)
ObjExcel.ActiveSheet.Cells(V, H + 6) = RST(6)
ObjExcel.ActiveSheet.Cells(V, H + 7) = RST(7)
V = V + 1
RST.MoveNext
Loop
Valora esta pregunta


0