Приложение Windows Forms собирает данные из пользовательского ввода и математического расчета и выводит набор результатов в электронную таблицу Excel.COMException при записи в Excel 2007 из Windows Forms
Вот мой код (для удобства, я включил только код, который, кажется, отношение к проблеме):
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
Как всегда, заблаговременно за помощь.
AFAIK коллекция ячеек - 1; (1,1) является A1 –
@Logan - попробуйте sheet.Cells() Ссылка - http://msdn.microsoft.com/en-us/library/ff194567.aspx – adatapost