none
Problema al exportar a excel RRS feed

  • Pregunta

  • Buenas tardes, tengo una aplicacion donde hay un boton para expotar, en mi pc exporta bien todo bien, pero cuando la llevo al servidor y la ejecuto desde otra pc no me exporta, es decir siempre me sale un msgbox diciendo: el archivo excel fue generado exitosamente y guardado en : y la ruta, cuando lo hago en otra pc me asle el mensaje de genero exitosamente pero en la ruta sale vacio, pero tampoco genera errores el metodo para generar el excel, la aplicacion tiene permisos de administrador, a que se deberia? alguno tiene una idea? porsiacaso dejo mi metodo para generar el excel

    NOTA: los archivos en excel de donde jala las plantilals estan en una carpeta en la ubicacion de la aplicacion, sera que se necesitan permisos para entrar a la carpeta?

    Private Sub exportarExcel()
            Try
                _error = 0
                Dim path As String = AppDomain.CurrentDomain.BaseDirectory & "\plantillas"
                Dim filas As Integer = 0
                Dim columnas As Integer = 0
                filas = dgvProductosPedido.Rows.Count

                Dim indice As Integer = 15
                If My.Computer.FileSystem.FileExists(path & "\PLANTILLA_IMPORTACION.xls") Then
                    My.Computer.FileSystem.DeleteFile(path & "\PLANTILLA_IMPORTACION.xls")
                End If

                Dim proveedor As New Proveedor
                proveedor = ConProveedor.devolverUnProveedor(_importacion.idProveedor)

                My.Computer.FileSystem.CopyFile(path & "\" & proveedor.plantilla, path & "\PLANTILLA_IMPORTACION.xls")
                'Dim Excel As Object
                _Excel = CreateObject("excel.Application")
                _Excel.Workbooks.Open(path & "\PLANTILLA_IMPORTACION.xls")
                Dim Hoja = _Excel.Sheets("Hoja1")
                Hoja.Name = proveedor.dsc2
                Dim via = ConViaEnvio.devolverUnaViaEnvio(_pedido.idEnvio).dsc
                Select Case via
                    Case "AIRE"
                        via = "AIR"
                    Case "MAR"
                        via = "SEA"
                End Select

                Dim sec As String = ""
                If _importacion.secuencia < 10 Then sec = "0" & _importacion.secuencia Else sec = _importacion.secuencia

                'CABECERAS
                Select Case proveedor.dsc2
                    Case "ABON", "ACON", "ALLTEST", "STERILANCE"
                        Hoja.Cells.Item(8, 2) = lblProveedor.Text
                        Hoja.Cells.Item(9, 2) = IIf(proveedor.direccion = "", "", proveedor.direccion)
                        Hoja.Cells.Item(11, 1) = proveedor.dsc2 & " - ORDER N° " & sec & "-" & Now().Year & " BY " & via
                        Hoja.Cells.Item(13, 3) = Date.Now.ToShortDateString
                    Case "MEDICLONE"
                        Hoja.Cells.Item(9, 3) = lblProveedor.Text
                        Hoja.Cells.item(10, 3) = proveedor.representante
                        Hoja.Cells.Item(11, 3) = "ORDER N° " & sec & "-" & Now().Year & " BY " & via
                        Hoja.Cells.Item(12, 3) = Date.Now.ToShortDateString
                    Case "VEDA. LAB"
                        Hoja.Cells.Item(11, 1) = "ORDER N° " & sec & "-" & Now().Year & " BY " & via
                        Hoja.Cells.Item(13, 3) = Date.Now.ToShortDateString
                    Case "URIT"
                        Hoja.Cells.Item(13, 2) = "ORDER N° " & sec & "-" & Now().Year & " BY " & via
                        Hoja.Cells.Item(12, 2) = "URIT INTERNATIONAL"
                        Hoja.Cells.Item(13, 3) = Date.Now.ToShortDateString
                    Case "BIOCHEMICAL"
                        Hoja.Cells.Item(7, 3) = "ORDER N° " & sec & "-" & Now().Year & " BY " & via & " CARGO"
                        Hoja.Cells.Item(13, 3) = Date.Now.ToShortDateString
                    Case "DIASYS"
                        Hoja.Cells.Item(2, 1) = "ORDER N° " & sec & "-" & Now().Year & " MONT GROUP S.A.C "
                        Hoja.Cells.Item(13, 2) = Date.Now.ToShortDateString
                    Case "THAI NIPPON"
                        Hoja.Cells.Item(7, 2) = "ORDER N° " & sec & "-" & Now().Year & " MONT GROUP S.A.C "
                        Hoja.Cells.Item(9, 3) = Date.Now.ToShortDateString
                        Hoja.Cells.Item(13, 2) = "ORDER BY " & via & " URGENT "
                End Select

                'DETALLE
                For i = 0 To filas - 1
                    If IsNumeric(dgvProductosPedido.Rows(i).Cells(6).Value) Then
                        If dgvProductosPedido.Rows(i).Cells(6).Value <> 0 Then
                            Select Case proveedor.dsc2
                                Case "MEDICLONE"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(10).Value.ToString 'codigo
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(3).Value.ToString 'presentacion
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 6) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 7) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    indice += 1
                                Case "ABON", "ACON", "ALLTEST"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(10).Value.ToString 'codigo
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    Hoja.Cells.Item(indice, 6) = proveedor.dsc2 'label
                                    Hoja.Cells.Item(indice, 7) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    indice += 1
                                Case "STERILANCE"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(10).Value.ToString 'codigo
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    Hoja.Cells.Item(indice, 6) = "" 'BOX
                                    Hoja.Cells.Item(indice, 7) = proveedor.dsc2 'label
                                    Hoja.Cells.Item(indice, 8) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    indice += 1
                                Case "VEDA. LAB", "BIOCHEMICAL"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(10).Value.ToString 'codigo
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    Hoja.Cells.Item(indice, 6) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    indice += 1
                                Case "DIASYS"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(10).Value.ToString 'codigo
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(3).Value.ToString 'presentacion
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 6) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    Hoja.Cells.Item(indice, 7) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    indice += 1
                                Case "THAI NIPPON"
                                    Hoja.Cells.Item(indice, 1) = indice - 14 'Numero
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 3) = "Square"
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 5) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 6) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    Hoja.Cells.Item(indice, 7) = "'" & dgvProductosPedido.Rows(i).Cells(8).Value.ToString 'rs
                                    indice += 1
                                Case "URIT"
                                    Hoja.Cells.Item(indice, 1) = "'" & dgvProductosPedido.Rows(i).Cells(6).Value.ToString 'cantidad
                                    Hoja.Cells.Item(indice, 2) = "'" & dgvProductosPedido.Rows(i).Cells(11).Value.ToString 'descripcion
                                    Hoja.Cells.Item(indice, 3) = "'" & dgvProductosPedido.Rows(i).Cells(5).Value.ToString 'precio
                                    Hoja.Cells.Item(indice, 4) = "'" & dgvProductosPedido.Rows(i).Cells(7).Value.ToString 'monto
                                    indice += 1
                            End Select
                        End If
                    End If
                Next

                'TOTALES
                Select Case proveedor.dsc2
                    Case "ABON"
                        Hoja.Cells.Item(indice + 1, 4) = "Fob"
                        Hoja.Cells.Item(indice + 2, 4) = "Discount"
                        Hoja.Cells.Item(indice + 3, 4) = "Freight"
                        Hoja.Cells.Item(indice + 4, 4) = "Total"
                        Hoja.Cells.Item(indice + 1, 5) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 5) = "'" & txtDescuento.Text
                        Hoja.Cells.Item(indice + 3, 5) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 4, 5) = "'" & txtTotal.Text
                    Case "ACON"
                        Hoja.Cells.Item(indice + 1, 4) = "Total Fob"
                        Hoja.Cells.Item(indice + 2, 4) = "Discount"
                        Hoja.Cells.Item(indice + 3, 4) = "Insurance"
                        Hoja.Cells.Item(indice + 4, 4) = "Freight"
                        Hoja.Cells.Item(indice + 5, 4) = "Total"
                        Hoja.Cells.Item(indice + 1, 5) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 5) = "'" & txtDescuento.Text
                        Hoja.Cells.Item(indice + 3, 5) = "'0.000"
                        Hoja.Cells.Item(indice + 4, 5) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 5, 5) = "'" & txtTotal.Text
                    Case "ALLTEST", "STERILANCE"
                        Hoja.Cells.Item(indice + 1, 4) = ""
                        Hoja.Cells.Item(indice + 2, 4) = "Insurance"
                        Hoja.Cells.Item(indice + 3, 4) = "Freight"
                        Hoja.Cells.Item(indice + 4, 4) = ""
                        Hoja.Cells.Item(indice + 1, 5) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 5) = "'0.000"
                        Hoja.Cells.Item(indice + 3, 5) = ""
                        Hoja.Cells.Item(indice + 4, 5) = "'" & txtTotal.Text
                    Case "VEDA. LAB", "BIOCHEMICAL"
                        Hoja.Cells.Item(indice + 1, 4) = "Goods Value"
                        Hoja.Cells.Item(indice + 2, 4) = "Freight"
                        Hoja.Cells.Item(indice + 3, 4) = "Total"
                        Hoja.Cells.Item(indice + 1, 5) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 5) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 3, 5) = "'" & txtTotal.Text
                    Case "DIASYS", "THAI NIPPON"
                        Hoja.Cells.Item(indice + 1, 5) = "Goods Value"
                        Hoja.Cells.Item(indice + 2, 5) = "Freight"
                        Hoja.Cells.Item(indice + 3, 5) = "Discount"
                        Hoja.Cells.Item(indice + 4, 5) = "Total"
                        Hoja.Cells.Item(indice + 1, 6) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 6) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 3, 6) = "'" & txtDescuento.Text
                        Hoja.Cells.Item(indice + 4, 6) = "'" & txtTotal.Text
                    Case "MEDICLONE"
                        Hoja.Cells.Item(indice + 1, 5) = "Goods Value"
                        Hoja.Cells.Item(indice + 2, 5) = "Freight"
                        Hoja.Cells.Item(indice + 3, 5) = "INSURANCE"
                        Hoja.Cells.Item(indice + 4, 5) = "Total"
                        Hoja.Cells.Item(indice + 1, 6) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 6) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 3, 6) = "'0.000"
                        Hoja.Cells.Item(indice + 4, 6) = "'" & txtTotal.Text
                    Case "URIT"
                        Hoja.Cells.Item(indice + 1, 3) = "Goods Value"
                        Hoja.Cells.Item(indice + 2, 3) = "Freight"
                        Hoja.Cells.Item(indice + 3, 3) = "Insurance"
                        Hoja.Cells.Item(indice + 4, 3) = "Discount"
                        Hoja.Cells.Item(indice + 5, 3) = "Total"
                        Hoja.Cells.Item(indice + 1, 4) = "'" & txtFob.Text
                        Hoja.Cells.Item(indice + 2, 4) = "'" & txtFlete.Text
                        Hoja.Cells.Item(indice + 3, 4) = "'0.000"
                        Hoja.Cells.Item(indice + 4, 4) = "'" & txtDescuento.Text
                        Hoja.Cells.Item(indice + 5, 4) = "'" & txtTotal.Text
                End Select

                Hoja.Cells.Item(indice + 1, 4).Font.Bold = 1
                Hoja.Cells.Item(indice + 2, 4).Font.Bold = 1
                Hoja.Cells.Item(indice + 3, 4).Font.Bold = 1
                Hoja.Cells.Item(indice + 4, 4).Font.Bold = 1
                Hoja.Cells.Item(indice + 5, 4).Font.Bold = 1
                Hoja.Cells.Item(indice + 1, 5).Font.Bold = 1
                Hoja.Cells.Item(indice + 2, 5).Font.Bold = 1
                Hoja.Cells.Item(indice + 3, 5).Font.Bold = 1
                Hoja.Cells.Item(indice + 4, 5).Font.Bold = 1
                Hoja.Cells.Item(indice + 5, 5).Font.Bold = 1
                Hoja.Cells.Item(indice + 1, 6).Font.Bold = 1
                Hoja.Cells.Item(indice + 2, 6).Font.Bold = 1
                Hoja.Cells.Item(indice + 3, 6).Font.Bold = 1
                Hoja.Cells.Item(indice + 4, 6).Font.Bold = 1
                Hoja.Cells.Item(indice + 5, 6).Font.Bold = 1

                _ruta = My.Computer.FileSystem.SpecialDirectories.Desktop

                _ruta = _ruta & "\" & proveedor.dsc2 & "_" & _importacion.nroImportacion & ".xls"
                _Excel.Visible = False
                _Excel.DisplayAlerts = False
                'If File.Exists(_ruta) Then
                'File.Delete(_ruta)
                'End If
                Hoja.SaveAs(_ruta)
                _Excel.Workbooks.Close()
                _Excel.DisplayAlerts = True
                _Excel.Quit()
                _Excel = Nothing
                Hoja = Nothing
            Catch ex As Exception
                _Excel.Workbooks.Close()
                _Excel.Quit()
                _Excel = Nothing
                _error = 1
            End Try
        End Sub

        Private Sub btnExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnExcel.Click
            If dgvProductosPedido.Rows.Count > 0 Then
                lblTitulo2.Text = "Exportando datos a Excel..."
                bgw.RunWorkerAsync()
            Else
                MsgBox("No existen productos para exportar", MsgBoxStyle.Critical, "Error")
            End If
        End Sub



    miércoles, 16 de marzo de 2016 21:42