使用带有C#错误行号的Excel 2013

使用带有C#错误行号的Excel 2013,c#,excel,C#,Excel,我的应用程序中有一个奇怪的问题。我正在将一些数据复制到Excel中。我有一个名为rowCounter的int变量,我将其设置为1。然后,我使用我的rowCounter变量(下面的代码)从excel中的列表中导出数据。奇怪的是,在excel中,它将数据放入第10行而不是第1行。如果我将行计数器更改为7,excel将把数据放入第70行。还有其他人有这个问题吗 当逐步浏览代码时,我可以看到我的行计数器的值是我所期望的 int rowCounter = 1; for(int i = 0; i <

我的应用程序中有一个奇怪的问题。我正在将一些数据复制到Excel中。我有一个名为rowCounter的int变量,我将其设置为1。然后,我使用我的rowCounter变量(下面的代码)从excel中的列表中导出数据。奇怪的是,在excel中,它将数据放入第10行而不是第1行。如果我将行计数器更改为7,excel将把数据放入第70行。还有其他人有这个问题吗

当逐步浏览代码时,我可以看到我的行计数器的值是我所期望的

int rowCounter = 1;

for(int i = 0; i < _fundCodes.Count; i++)
{
    // some code - pulling some data from a database nothing to do with the row counter

    for (int m = 0; m < missingAuto.Count; m++)
    {
        _xlWorksheet.Range["B" + rowCounter + m].Value = missingAuto[m].FundCode;
        _xlWorksheet.Range["C" + rowCounter + m].Value = missingAuto[m].IdSedol;
        _xlWorksheet.Range["D" + rowCounter + m].Value = missingAuto[m].Currency;
        _xlWorksheet.Range["E" + rowCounter + m].Value = missingAuto[m].Nominal;
        _xlWorksheet.Range["F" + rowCounter + m].Value = missingAuto[m].Price;
    }

    for (int m = 0; m < missingMan.Count; m++)
    {
        _xlWorksheet.Range["H" + rowCounter + m].Value = missingMan[m].FundCode;
        _xlWorksheet.Range["I" + rowCounter + m].Value = missingMan[m].IdSedol;
        _xlWorksheet.Range["J" + rowCounter + m].Value = missingMan[m].Currency;
        _xlWorksheet.Range["K" + rowCounter + m].Value = missingMan[m].Nominal;
        _xlWorksheet.Range["L" + rowCounter + m].Value = missingMan[m].Price;
    }

    int rowAdd = missingAuto.Count > missingMan.Count ? missingAuto.Count : missingMan.Count;

    rowCounter = rowCounter + rowAdd + 2;
}
int行计数器=1;
对于(int i=0;i<\u fundCodes.Count;i++)
{
//一些代码-从数据库中提取一些数据与行计数器无关
for(int m=0;mmissingMan.Count?missingAuto.Count:missingMan.Count;
行计数器=行计数器+行添加+2;
}

您正在添加字符串而不是数字:

"B" + rowCounter + m
"B" + 1 + 0
"B10"
正确版本:

"B" + (rowCounter + m).ToString()

您正在添加字符串而不是数字:

"B" + rowCounter + m
"B" + 1 + 0
"B10"
正确版本:

"B" + (rowCounter + m).ToString()
“B”+行计数器+m
“B”+行计数器.ToString()+m.ToString()
相同。 因此,当rowCounter为1,m为0时,得到B10。

“B”+rowCounter+m
“B”+rowCounter.ToString()+m.ToString()
相同。
因此,当rowCounter为1,m为0时,得到B10。

调试时,计算
“B”+rowCounter+m
并查看指定的单元格。调试时,计算
“B”+rowCounter+m
并查看指定的单元格。