Exportar información a Excel
Publicado por CARLOS A (5 intervenciones) el 06/08/2015 20:30:07
Tengo SQL SERVER 2008 y EXCEL 2007 Instalado en un server.
Tengo el siguiente query para que me exporte el resultado al archivo de Excel.
Pero por algún motivo no marca error, marca XXX filas afectadas, pero en el archivo de Excel no exporto nada.
Alguien sabe si falta algún parámetro a modificar en el SQL SERVER o que se puede hacer.
Nota: Tengo otro query que si exporta información pero utiliza un archivo de Excel versión 1997-2003 (.XLS) pero utiliza Microsoft.Jet.OLEDB.4.0
Ahí va el Query que no funciona.
Use Inkar
Exec xp_cmdshell 'COPY "D:\Tareas\PortafolioCobranza\DepNoIdentificadosMachote.xls" "D:\Tareas\PortafolioCobranza\DepNoIdentificadosHoy.xls"', NO_OUTPUT
Insert Into OpenRowSet
('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;Database=D:\Tareas\PortafolioCobranza\DepNoIdentificadosHoy.xlsx;',
'Select Mov, MovId, Estatus, FechaEmision, Importe, Saldo, Cliente, Nota, Referencia, Observaciones, CtaDinero
FROM [Hoja1$]')
Select
D.Mov,
D.MovId,
D.Estatus,
FechaEmision = Convert(Char(10),D.FechaEmision,103),
Importe = IsNull(D.Importe,0),
Saldo = Isnull(D.Saldo,0),
Dd.Cliente,
D.Nota,
D.Referencia,
D.Observaciones,
D.CtaDinero
From Dinero D WITH(NOLOCK)
Left Join (Select D.Mov, D.MovId, Cxc.Cliente
From Dinero D WITH(NOLOCK) Left Join MovFlujo Mf WITH(NOLOCK) On Mf.DMov = D.Mov And Mf.DMovId = D.MovId
Left Join Cxc WITH(NOLOCK) On Cxc.Mov = Mf.OMov And Cxc.MovId = Mf.OMovId Where 1=1
And D.Mov = 'Dep No Identificado' And D.Estatus <> 'CANCELADO'
And D.Mov = D.Mov And D.MovId = D.MovID And CXC.Empresa = D.Empresa
And Cxc.Cliente Not Like 'E%') Dd On DD.Mov = D.Mov And DD.MovId = D.MovId
Where D.Mov = 'Dep No Identificado'
And ((D.Estatus = 'CONCLUIDO' And D.FechaEmision >= '01/01/2013')
or (D.Estatus = 'PENDIENTE'))
And FechaEmision >= '01/01/2013'
group by D.mov, D.MovID, D.Estatus, D.FechaEmision, D.Importe, D.Saldo, Dd.Cliente, D.Nota, D.Referencia, D.Observaciones, D.CtaDinero
Order By D.FechaEmision
Tengo el siguiente query para que me exporte el resultado al archivo de Excel.
Pero por algún motivo no marca error, marca XXX filas afectadas, pero en el archivo de Excel no exporto nada.
Alguien sabe si falta algún parámetro a modificar en el SQL SERVER o que se puede hacer.
Nota: Tengo otro query que si exporta información pero utiliza un archivo de Excel versión 1997-2003 (.XLS) pero utiliza Microsoft.Jet.OLEDB.4.0
Ahí va el Query que no funciona.
Use Inkar
Exec xp_cmdshell 'COPY "D:\Tareas\PortafolioCobranza\DepNoIdentificadosMachote.xls" "D:\Tareas\PortafolioCobranza\DepNoIdentificadosHoy.xls"', NO_OUTPUT
Insert Into OpenRowSet
('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;Database=D:\Tareas\PortafolioCobranza\DepNoIdentificadosHoy.xlsx;',
'Select Mov, MovId, Estatus, FechaEmision, Importe, Saldo, Cliente, Nota, Referencia, Observaciones, CtaDinero
FROM [Hoja1$]')
Select
D.Mov,
D.MovId,
D.Estatus,
FechaEmision = Convert(Char(10),D.FechaEmision,103),
Importe = IsNull(D.Importe,0),
Saldo = Isnull(D.Saldo,0),
Dd.Cliente,
D.Nota,
D.Referencia,
D.Observaciones,
D.CtaDinero
From Dinero D WITH(NOLOCK)
Left Join (Select D.Mov, D.MovId, Cxc.Cliente
From Dinero D WITH(NOLOCK) Left Join MovFlujo Mf WITH(NOLOCK) On Mf.DMov = D.Mov And Mf.DMovId = D.MovId
Left Join Cxc WITH(NOLOCK) On Cxc.Mov = Mf.OMov And Cxc.MovId = Mf.OMovId Where 1=1
And D.Mov = 'Dep No Identificado' And D.Estatus <> 'CANCELADO'
And D.Mov = D.Mov And D.MovId = D.MovID And CXC.Empresa = D.Empresa
And Cxc.Cliente Not Like 'E%') Dd On DD.Mov = D.Mov And DD.MovId = D.MovId
Where D.Mov = 'Dep No Identificado'
And ((D.Estatus = 'CONCLUIDO' And D.FechaEmision >= '01/01/2013')
or (D.Estatus = 'PENDIENTE'))
And FechaEmision >= '01/01/2013'
group by D.mov, D.MovID, D.Estatus, D.FechaEmision, D.Importe, D.Saldo, Dd.Cliente, D.Nota, D.Referencia, D.Observaciones, D.CtaDinero
Order By D.FechaEmision
Valora esta pregunta


0