Vb.net редактирование определенных ячеек excel
Уважаемое Сообщество Code Project,
Я много искал и не нашел никакого решения, которое сработало бы для меня, так что, возможно, кто-то может дать мне подсказку о моей проблеме.
Id хотел бы показать значение ячейки в текстовом поле, которое может быть выбрано в зависимости от входных данных других текстовых полей.
На данный момент я знаю, как сделать сами текстовые поля и ограничить их числовыми входами.
Но когда я пытаюсь открыть файл excel ,отобразить конкретную ячейку с выбранного листа, я всегда получаю исключение NullReferenceException. Это как если бы мое объявление об открытии файла через xlApp.Workbooks.open(filename) не работает, и я не понимаю, почему?
Мой код выглядит примерно так на данный момент:
Private Sub ButtonShow_Click(sender As Object, e As EventArgs) Handles ButtonShow.Click Dim CellValue As String Dim filename As String = LabelFilePath.Text If IO.File.Exists(filename) Then Dim xlApp As Excel.Application = Nothing Dim xlWorkbooks As Excel.Workbooks = Nothing Dim xlWorkbook As Excel.Workbook = Nothing Dim xlWorksheets As Excel.Worksheets = Nothing Dim xlWorksheet As Excel.Worksheet = Nothing Dim xlCells As Excel.Range = Nothing Try xlApp = New Excel.Application xlWorkbooks = xlApp.Workbooks xlWorkbook = xlApp.Workbooks.Open(filename) xlWorksheets = xlWorkbook.Sheets xlWorksheet = xlWorkbook.Sheets(TextBoxSheet) CellValue = xlWorksheet.Cells(TextBoxRow.Text, TextBoxColumn.Text) TextBoxCell.Text = CellValue Catch ex As Exception MessageBox.Show("Datei nicht vorhanden") Finally xlApp.Application.Quit() End Try End If End Sub End Class
Если вам понадобится больше моего кода или объяснений, я постараюсь добавить их как можно скорее. Я также добавлю ваше решение в код здесь.
Что я уже пробовал:
Я тоже пробовал разные подходы открыть файл или запустить xlApp с помощью кода типа
xlWorkbook = Excel.Workbooks.OpenXML(filename)
и
xlApp = CreateObject("Excel.Application")
но это ни к чему не привело. И да добавил Я
Imports Excel = Microsoft.Office.Interop.Excel
с правильными рекомендациями.
Я открыт для любых предложений и буду признателен за любую помощь.
Спасибо
Richard MacCutchan
Вам нужно точно объяснить, какие ошибки вы получаете, и где они происходят. Если ошибки являются результатом плохих данных в текстовом поле, то вам нужно изучить эти данные, чтобы увидеть, что с ними не так.
Richard MacCutchan
И вы все еще не объяснили точно, где происходит исключение NullReferenceException.
LndM
Исключение NullReferenceException происходит в xlApp, как я уже писал, xlApp все еще ничего после того, как я инициализирую его с помощью нового Excel.Приложение, и ничего не остается, пока не возникнет проблема, когда я выйду из него в xlApp.Application.Quit(). Вопрос в том, почему он остается ничем, даже если я объявил его как приложение и использую open (), чтобы дать ему данные.
Richard MacCutchan
Скорее всего потому что заявление
xlApp = New Excel.Application
не создает новый объект приложения Excel. Вы уверены, что этот код скомпилирован чисто?
LndM
Нет, честно говоря, я ни в чем не уверен, почему он может быть нечистым? Но что создает объект приложения Excel, если не эта строка?
Richard MacCutchan
Извините, но я не могу ответить ни на один из этих вопросов. Но если это утверждение не имеет успеха, тогда определенно чего-то не хватает. Попробуйте перестроить код с максимальным количеством предупреждений, чтобы увидеть, не помечает ли компилятор что-нибудь.