ячейка свойства bc30526 доступна только для чтения dataGridView1 в Excel

#vb.net

#vb.net

Вопрос:

Я получаю сообщение об ошибке из этой строки xlWorkSheet.Ячейки (i 1, j 1) = dataGridView1(j, i).Значение.toString () ошибка говорит о том, что ячейка свойства bc30526 доступна только для чтения. как можно настроить это?

 Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")

For i = 0 To DataGridView1.RowCount - 2
    For j = 0 To DataGridView1.ColumnCount - 1
        xlWorkSheet.Cells(i   1, j   1) = DataGridView1(j, i).Value.ToString()
    Next
Next
xlWorkSheet.SaveAs("C:vbexcel.xlsx")
xlWorkBook.Close()
xlApp.Quit()

        
  

Комментарии:

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

2. @Craig, как? пожалуйста, отправьте свой ответ

3. Повторите исключение nullrefexception, я бы предложил задать для этого новый вопрос. Вы делаете что-то не совсем так, как я, но не очевидно, что разница неправильная.

4. @Craig, о, хорошо, я просто надеюсь, что ты сможешь помочь мне с этой новой ошибкой, но все равно спасибо. я постараюсь сделать все возможное, чтобы настроить это…

Ответ №1:

Это почти наверняка должно быть,

 xlWorkSheet.Cells(i   1, j   1).Value = DataGridView1(j, i).Value.ToString()
  

Как написано, вы пытаетесь присвоить строку a Cell ; это не сработало бы, даже если бы она не была доступна только для чтения.

Это может отличаться от VBA. Я думаю, что VBA позволяет Value удалять их с помощью свойств по умолчанию. Я не думаю, что это то, что все еще существует в .NET, за исключением индексаторов (возможность отказаться Item от доступа к коллекции).

Комментарии:

1. Исключение System.NullReferenceException: «Переменная объекта или с переменной блока не установлена».