COMException при записи в Excel 2007 из Windows Forms - PullRequest
0 голосов
/ 10 января 2012

Мое приложение Windows Forms собирает данные из пользовательского ввода и математических вычислений и выводит набор результатов в электронную таблицу Excel.

Вот мой код (для удобства я включил только тот код, который кажется мнепроблема):

        Dim exc As New Excel.Application
        Dim book As Excel.Workbook
        Dim sheet As Excel.Worksheet

        book = exc.Workbooks.Add
        sheet = book.Sheets.Add

        Dim dc As System.Data.DataColumn
        Dim dr As System.Data.DataRow
        Dim colIndex As Integer = 0
        Dim rowIndex As Integer = 1

        exc.Cells(0, 0) = "Clearspan Cladding Sheet"
        exc.Cells(0, 1) = dtpDate.Value
        exc.Cells(0, 2) = "Job No. " & txtJob.Text
        exc.Cells(0, 3) = "By " & txtName.Text

        For Each dc In dtTotals.Columns
            colIndex = colIndex + 1
            exc.Cells(1, colIndex) = dc.ColumnName
        Next

Ошибка возникает, когда я пытаюсь Cell(0, 0).Ниже приведена самая подробная информация, которую я мог получить об ошибке.Цикл For...Next работает (как проверено в предыдущих сеансах отладки).Насколько я понимаю, я делаю то же самое над ним.

System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC
   at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
   at Microsoft.Office.Interop.Excel.Range.set__Default(Object RowIndex, Object ColumnIndex, Object Param)
   at Cladding.frmCladdingMain.Button1_Click(Object sender, EventArgs e) in C:\Users\logan.HO\Documents\Visual Studio 2010\Projects\Clearspan\Cladding\frmCladdingMain.vb:line 240

Как всегда, заранее благодарю за любую предоставленную помощь.

1 Ответ

0 голосов
/ 10 января 2012

Проверьте эту ссылку: http://support.microsoft.com/kb/301982 Значение первого ряда и столбца равно 1,1 (т.е. A1 = ячейка (1,1)).

...