目前我有一个小应用程序,需要从一个对象中获取信息并将其显示到一个 excel 文件中,使用我已经能够写入文件的 Microsoft.office.interop 类,它一个一个地显示正在添加记录,但是大约每 3 次尝试一次,电子表格停止填充第 300 条和第 600 条记录之间的某个位置,我总共有 6,000 条,而且每次都没有中断,我在完成后检查是否最后一个记录已填写,但代码从未达到该点,我不确定发生了什么
我也不知道如何调试问题,因为这意味着要通过 6,000 个循环来检查它是否停止......这甚至可能不会发生?
代码的一小部分在这里
loadExcel(incidents, WorkSheetName)
If WorkSheetName.Cells(DBObject.HighestInci + 1, 6) Is Nothing Then
MessageBox.Show("Failed to fill spreadsheet, Retrying now.")
loadExcel(incidents, WorkSheetName)
End If
上面是代码调用和检查下面的方法
Private Sub loadExcel(ByVal incidents As List(Of Incident), ByRef WorkSheetName As Excel.Worksheet)
Dim i = 2
For Each inc As Incident In incidents
WorkSheetName.Cells(i, 1) = inc.DateLogged
WorkSheetName.Cells(i, 2) = inc.DateClosed
WorkSheetName.Cells(i, 3) = Convert.ToString(inc.DateLogged).Substring(3, 2)
i += 1
Next
End Sub
提前致谢
编辑
我正在考虑将它加载到某种缓冲区,然后在它们全部更新后写入将是要走的路,而不是当前单独加载和写入每个?但是我不知道从哪里开始?