【发布时间】:2019-11-02 23:32:42
【问题描述】:
我一直试图弄清楚这一点。但是像this 和this 这样的解决方案并不能解决我的问题。
我正在使用以下代码将数据从数据库添加到 Excel:-
//Adding Table values in Excel
int sum = 0;
object[,] arr = new object[result.Rows.Count, result.Columns.Count];
for (int r = 0; r < result.Rows.Count; r++)
{
DataRow dr = result.Rows[r];
for (int c = 0; c < result.Columns.Count; c++)
{
arr[r, c] = dr[c];
}
sum = sum + Convert.ToInt32(dr[5]);
}
Microsoft.Office.Interop.Excel.Range c3 = (Microsoft.Office.Interop.Excel.Range)ws.Cells[20, 1];
Microsoft.Office.Interop.Excel.Range c4 = (Microsoft.Office.Interop.Excel.Range)ws.Cells[result.Rows.Count + 20, result.Columns.Count];
Microsoft.Office.Interop.Excel.Range range1 = ws.get_Range(c3, c4);
range1.Value = arr;
现在在range1.Value = arr; 行上,当我调试代码时,它正在添加另一行,所有列的值都为#N/A,显示的值为-2146826246。
首先,我不明白为什么要在最后添加一行它自己的? 其次,为什么这些值会以#N/A 的形式出现以及如何解决这个问题?
【问题讨论】: