Fiínek Cahů Ответов: 0

Запись значений в ячейки excel из visual studio VB.NET


Здравствуйте, я пытаюсь записать некоторые значения из текстовых полей в excel, но у меня есть проблема с библиотекой DLL:
Severity	Code	Description	Project	File	Line	Suppression State
Warning		Could not determine the dependencies of the COM reference "Microsoft.Office.Interop.Excel". Chyba při načítání knihovny typů či DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))	V2Solution

I dont known where is a problem, 0 errors, 1 warnings.	Thank you		


Что я уже пробовал:

Мой код:
<pre>Public Shared Sub updatelog()


        Dim formattedDate As String = Date.Today.ToString("dd/MM/yyyy")

        Dim OnlyTime As String = DateTime.Now.ToString("HH:mm:ss")
        Dim cislod As String
        cislod = iMontix.TextBox1.Text
        Dim zakazc As String
        zakazc = iMontix.TextBox2.Text
        Dim stav As String
        stav = "OK"
        Dim ID = iMontix.TextBox6.Text
        Dim kod_operace = iMontix.TextBox8.Text
        Dim smena = iMontix.TextBox5.Text
        Dim filename = "C:\_Montix a.s. - cloud\iMontix\logfile_V1.xls"
        Dim sheetname = "V1"

        If IO.File.Exists(filename) Then
            Dim Proceed As Boolean = False
            Dim xlApp As Excel.Application = Nothing
            Dim xlWorkBooks As Excel.Workbooks = Nothing
            Dim xlWorkBook As Excel.Workbook = Nothing
            Dim xlWorkSheet As Excel.Worksheet = Nothing
            Dim xlWorkSheets As Excel.Sheets = Nothing
            Dim xlCells As Excel.Range = Nothing

            xlApp.DisplayAlerts = False
            xlWorkBooks = xlApp.Workbooks
            xlWorkBook = xlWorkBooks.Open(filename)
            xlApp.Visible = True
            xlWorkSheets = xlWorkBook.Sheets
            For x As Integer = 1 To xlWorkSheets.Count
                xlWorkSheet = CType(xlWorkSheets(x), Excel.Worksheet)
                If xlWorkSheet.Name = sheetname Then
                    Console.WriteLine(sheetname)
                    Proceed = True
                    Exit For
                End If
                Runtime.InteropServices.Marshal.FinalReleaseComObject(xlWorkSheet)
                xlWorkSheet = Nothing
            Next
            If Proceed Then

                xlWorkSheet.Range(xlWorkSheet.Cells(2, 2)).Value = cislod
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 3)).Value = zakazc
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 4)).Value = stav
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 5)).Value = formattedDate
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 6)).Value = OnlyTime
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 7)).Value = ID
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 8)).Value = smena
                xlWorkSheet.Range(xlWorkSheet.Cells(2, 9)).Value = kod_operace
                'save changes
                xlWorkBook.Save()

                xlWorkSheet.Activate()

            Else
                MessageBox.Show(sheetname & " not found.")
            End If
        Else
            MessageBox.Show("'" & filename & "' not located. Try one of the write examples first.")
        End If
    End Sub

CHill60

Похоже, что библиотека COM, которую вы пытаетесь использовать, установлена неправильно. Попробуйте переустановить Office и убедитесь, что вы ссылаетесь на правильную версию в своем проекте

[no name]

C:\WINDOWS\assembly\GAC_MSIL\Microsoft-да.Офис.Взаимодействие.Excel\15.0.0.0__71e9bce111e9429c\Microsoft.Офис.Взаимодействие.Excel.dll

CHill60

Что?
Убедитесь, что он установлен правильно - самый простой способ, вероятно, переустановить Office. Какие операторы using у вас есть в вашем проекте

0 Ответов