Problema al Exportar a Excel de un Datagrid
Publicado por mocoyn (7 intervenciones) el 17/07/2006 16:22:26
Hola, tengo el siguiente codigo (una parte de esta funcionalidad) que pasa de los datos de un datagrid a excel. He marcado en el codigo la linea que falla, q es, al grabar el archivo a excel. Me funciona perfectamente bajo Windows Xp, Office 2003. Tmbien con Windows 2000 y Office 2000, pero me falla al utilizar Windows 98 y Office 2000. Alguien sabe por que???? Muchas gracias.
Dim Xl As New Excel.Application
Try
Dim datos As String
Dim Xlb As Excel.Workbook
Dim xls As Excel.Worksheet
Dim o As Excel.Worksheet
Dim o_ant As Excel.Worksheet
Dim xldatos As Excel.Worksheet
Dim xlbasura As Excel.Worksheet
Dim unDataSet As New DataSet
Dim colum As ADODB.Field
Dim ind As Integer
Dim aux As String
Dim cuenta As Integer
If Dir(fichExcel, FileAttribute.Archive) = "" Then 'ya hemos preguntado si lo queria crear. Ahora miramos a ver si es necesario (otra vez), en caso de que no quisiera crear uno nuevo no hay que esperas a que se carge el dataset
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
xlBook = CType(Xl.Workbooks.Add, Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
xlSheet.Application.Visible = False
MsgBox("xlsheet guardando.Valor de fichExcel:" & fichExcel)
'*********AQUI ES DONDE FALLA *******************************************************
xlSheet.SaveAs(fichExcel)
'************************************************************************************
MsgBox("xlsheet antes de cerrar")
xlBook.Close()
End If
Xlb = Xl.Workbooks.Open(fichExcel, , False)
xldatos = Xlb.Worksheets.Add(, Xlb.Worksheets(Xlb.Worksheets.Count))
xls = Xlb.Worksheets.Add(, xldatos)
Dim Xl As New Excel.Application
Try
Dim datos As String
Dim Xlb As Excel.Workbook
Dim xls As Excel.Worksheet
Dim o As Excel.Worksheet
Dim o_ant As Excel.Worksheet
Dim xldatos As Excel.Worksheet
Dim xlbasura As Excel.Worksheet
Dim unDataSet As New DataSet
Dim colum As ADODB.Field
Dim ind As Integer
Dim aux As String
Dim cuenta As Integer
If Dir(fichExcel, FileAttribute.Archive) = "" Then 'ya hemos preguntado si lo queria crear. Ahora miramos a ver si es necesario (otra vez), en caso de que no quisiera crear uno nuevo no hay que esperas a que se carge el dataset
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
xlBook = CType(Xl.Workbooks.Add, Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
xlSheet.Application.Visible = False
MsgBox("xlsheet guardando.Valor de fichExcel:" & fichExcel)
'*********AQUI ES DONDE FALLA *******************************************************
xlSheet.SaveAs(fichExcel)
'************************************************************************************
MsgBox("xlsheet antes de cerrar")
xlBook.Close()
End If
Xlb = Xl.Workbooks.Open(fichExcel, , False)
xldatos = Xlb.Worksheets.Add(, Xlb.Worksheets(Xlb.Worksheets.Count))
xls = Xlb.Worksheets.Add(, xldatos)
Valora esta pregunta


0