Dar un Formato en excel desde un programa en Visual

Tengo una base de datos en SQL Server en la cual vienen diversos datos entre ellos precios, porcentajes, fechas entre otros, como le hago para que al momento de que mi programa en Visual me lo exporte a excel mis datos le de en automático el formato adecuado dependiendo el caso (precio, número, %, fecha, etc), el programa exporta bien los datos, pero en excel la fecha por ejemplo sale con números, los precios, y porcentajes igual. Saludos
(Parte del programa)

Sub ExportaExcel
Dim Xls
Dim xlsText
Dim xlsNumber
Dim xlsFile
Dim xlsTable
dim strSQL
dim cCondicion
Set Xls = CreateObject("Excel.application")
Set oWB = XLS.WorkBooks.Add
Set oSheet = oWb.ActiveSheet
n = 1
cCondicion = ""

If not clEmpty( txtProveedores ) Then
cCondicion = cCondicion & "where cuenxpag.proveedor = '"& trim(txtProveedores)&"'" & "and cuenxpag.estado ='p' and cuenxpag.saldo > '0'"
TProveedores = false
else cCondicion = "where cuenxpag.estado ='p' and cuenxpag.saldo > '0'"
end if

strSQL = ""
strSQL = strSQL & "Select"
strSQL = strSQL & " compras.factura,"
strSQL = strSQL & " cuenxpag.proveedor,"
strSQL = strSQL & " cuenxpag.tipo_doc,"
strSQL = strSQL & " cuenxpag.compra,"
strSQL = strSQL & " cuenxpag.fecha,"
strSQL = strSQL & " cuenxpag.fecha_venc,"
strSQL = strSQL & " DATEDIFF(DAY, cuenxpag.fecha_venc , Getdate()) As Dias,"
strSQL = strSQL & " cuenxpag.importe,"
strSQL = strSQL & " cuenxpag.saldo"
strSQL = strSQL & " from compras join cuenxpag on compras.compra = cuenxpag.compra "
strSQL = strSQL & cCondicion
strSQL = strSQL & " order by cuenxpag.proveedor, compras.factura, cuenxpag.compra, cuenxpag.fecha"

'strSQL = "select compras.factura, cuenxpag.proveedor, cuenxpag.tipo_doc,cuenxpag.compra, cuenxpag.fecha, cuenxpag.fecha_venc, DATEDIFF(DAY, cuenxpag.fecha_venc , Getdate())as dias, cuenxpag.importe, cuenxpag.saldo from compras join cuenxpag on compras.compra = cuenxpag.compra where cuenxpag.proveedor = 'Autotodo' and cuenxpag.estado ='p' and cuenxpag.saldo > '0' order by compras.factura, cuenxpag.compra"

Set rstProds = CreaRecordSet( (strSQL),Ambiente.Connection )
'encabezado
Xls.cells(1, 1).Formula = "FACTURA"
Xls.cells(1, 2).Formula = "PROVEEDOR"
Xls.cells(1, 3).Formula = "DOC"
Xls.cells(1, 4).Formula = "COMPRA"
Xls.cells(1, 5).Formula = "FECHA"
Xls.cells(1, 6).Formula = "FECHA VENCIMIENTO"
Xls.cells(1, 7).Formula = "Dias Vencimiento"
Xls.cells(1, 8).Formula = "IMPORTE"
Xls.cells(1, 9).Formula = "SALDO"

While Not rstProds.EOF
n = n + 1

'
Xls.cells(n, 1).Formula = rstProds("factura")
Xls.cells(n, 2).Formula = rstProds("proveedor")
Xls.cells(n, 3).Formula = rstProds("tipo_doc")
Xls.cells(n, 4).Formula = rstProds("compra")
Xls.cells(n, 5).Formula = rstProds("fecha")
Xls.cells(n, 6).Formula = rstProds("fecha_venc")
Xls.cells(n, 7).Formula = rstProds("Dias")
Xls.cells(n, 8).Formula = ROUND(rstProds("importe"),2)
Xls.cells(n, 9).Formula = ROUND(rstProds("saldo"),2)

lblStatus.Caption = "Exportando: " & vbCrLf &"Factura: "& rstProds("factura") &" Proveedor "& rstProds("Proveedor")

RstProds. MoveNext

Wend

Añade tu respuesta

Haz clic para o