none
Abrir arquivo dentro de projeto pasta resources VB.Net RRS feed

  • Pergunta

  • Bom dia pessoal, preciso de uma ajuda....

    Queria abrir um arquivo excel para ser editado pelo Vb.net, porém queria abrir este arquivo da pasta Resources dentro do projeto.

    Um código que já funciona:

    xlWorkBook = xlApp.Workbooks.Open("C:\dados\Postos.xlsx")

    xlApp.Visible = True

    Porém queria um código assim:

    xlWorkBook = xlApp.Workbooks.Open(My.Resources.Postos.xlsx)

    xlApp.Visible = True

    Nesse código desejado ele retorna erro de string. como faço para conseguir abrir um arquivo da pasta resources?

    Desde já agradeço.

    sexta-feira, 12 de julho de 2013 14:41

Respostas

  • Bom dia,

    Eu tive muitos problemas usando direto o framework, um deles eh que força o usuario a ter o Office, então pesquisei bastante e encontrei uma dll muito boa, que não necessita do pacote do Office pra manipular qualquer aqui deles, chama Aspose, segue o trecho do codigo que uso pra manipular o xlsx.

    Public Sub DoExcelToImage(ByVal nomeExcel As String, ByVal folder As String)
    
            Try
    
                Dim xlsDoc As Workbook = Nothing
                Dim xls As New IO.FileInfo(nomeExcel)
                Dim loadOption As Aspose.Cells.LoadOptions = Nothing
    
                'Verifica a extensão do arquivo excel informado
                Select Case xls.Extension.ToLower
    
                    Case ".xls"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.Excel97To2003)
    
                    Case ".xlsx"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.Xlsx)
    
                    Case ".ods"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.ODS)
    
                End Select
    
                xlsDoc = New Workbook(nomeExcel, loadOption)
    
                If Not IO.Directory.Exists(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original")) Then
    
                    IO.Directory.CreateDirectory(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original"))
    
                End If
    
                'Gerar PDF do excel
                xlsDoc.Save(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original\" & xls.Name.Replace(xls.Extension, "") & ".pdf"), Aspose.Cells.SaveFormat.Pdf)
    
                'Gerar Imagem do PDF
                GhostscriptSharp.GhostscriptWrapper.GenerateOutput(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original\" & xls.Name.Replace(xls.Extension, "") & ".pdf"),
                                                                   IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\" & xls.Name.Replace(xls.Extension, "") & "_%d.jpg"),
                                                                   settings)
    
            Catch ex As Exception
            End Try
    
        End Sub

    Vlw, espero ter ajudado.

    • Marcado como Resposta renancapano quarta-feira, 25 de julho de 2018 01:10
    sexta-feira, 6 de julho de 2018 11:51

Todas as Respostas

  • Olá, eu sei que essa pergunta tem muitos anos, mas estou passando pela mesma questão.

    Por acaso você conseguiu uma resposta para o seu problema?

    sexta-feira, 6 de julho de 2018 00:37
  • Bom dia,

    Eu tive muitos problemas usando direto o framework, um deles eh que força o usuario a ter o Office, então pesquisei bastante e encontrei uma dll muito boa, que não necessita do pacote do Office pra manipular qualquer aqui deles, chama Aspose, segue o trecho do codigo que uso pra manipular o xlsx.

    Public Sub DoExcelToImage(ByVal nomeExcel As String, ByVal folder As String)
    
            Try
    
                Dim xlsDoc As Workbook = Nothing
                Dim xls As New IO.FileInfo(nomeExcel)
                Dim loadOption As Aspose.Cells.LoadOptions = Nothing
    
                'Verifica a extensão do arquivo excel informado
                Select Case xls.Extension.ToLower
    
                    Case ".xls"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.Excel97To2003)
    
                    Case ".xlsx"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.Xlsx)
    
                    Case ".ods"
                        loadOption = New Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.ODS)
    
                End Select
    
                xlsDoc = New Workbook(nomeExcel, loadOption)
    
                If Not IO.Directory.Exists(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original")) Then
    
                    IO.Directory.CreateDirectory(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original"))
    
                End If
    
                'Gerar PDF do excel
                xlsDoc.Save(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original\" & xls.Name.Replace(xls.Extension, "") & ".pdf"), Aspose.Cells.SaveFormat.Pdf)
    
                'Gerar Imagem do PDF
                GhostscriptSharp.GhostscriptWrapper.GenerateOutput(IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\Original\" & xls.Name.Replace(xls.Extension, "") & ".pdf"),
                                                                   IO.Path.Combine(clsMetodosFixos.PathSys, "Files\" & folder & "\" & xls.Name.Replace(xls.Extension, "") & "_%d.jpg"),
                                                                   settings)
    
            Catch ex As Exception
            End Try
    
        End Sub

    Vlw, espero ter ajudado.

    • Marcado como Resposta renancapano quarta-feira, 25 de julho de 2018 01:10
    sexta-feira, 6 de julho de 2018 11:51