Excel Interop 工作表 HRESULT:0x800A03EC 使用 VB.net

Excel Interop worksheet HRESULT: 0x800A03EC using VB.net

所以在我的 vb.net 应用程序中,我从数据库中提取数据(table 中大约 1046 行)以预加载 excel 电子表格中的内容。这在 999 行之前工作正常,但如果它超过 999 行,它会给我那个特定的错误。 只是想知道是否有限制。有任何想法吗?我正在使用 windows 10,Management Studio 2012 和 excel 2007。

代码:

Private Sub readEmployee(ByVal employee As data.employeeList)

            Dim excelWorkSheet As Excel.Worksheet 
            Dim startRow As Integer = 9
            Dim firstNames As String = ""
            Dim lastNames As String = ""              

            With excelWorkSheet  
                startRow = 9
                Dim row As data.employeeList.employeeListRow
                For Each row In employee.employeeList
                    If row.RowState <> DataRowState.Deleted Then

                        firstNames = CStr(IIf(row.FirstName.Trim() = "", "", row.FirstName.Trim()))
                        lastNames = CStr(IIf(row.LastName.Trim() = "", "", row.LastName.Trim()))

                        .Range("A" + startRow.ToString("n0")).Value = lastNames
                        .Range("B" + startRow.ToString("n0")).Value = firstNames          
                        startRow += 1
                    End If
                Next
            End With
    End Sub

当 startRow=1000 时,

startRow.ToString("n0") returns 1,000。 Range 参数的格式不正确。

您不需要在这里使用 FormatProvider 代替 ToString。只需使用默认重载。

startRow.ToString()

就是你所需要的。