使用Excel 2013与C#不正确的行号
我的应用程序中有一个奇怪的问题。 我将一些数据复制到Excel中。 我有一个叫做rowCounter的intvariables,我将其设置为1.然后使用rowCountervariables(下面的代码)从excel中的列表导出数据。 奇怪的是,在Excel中,它将数据放入第10行而不是第1行。如果我将rowCounter更改为7,excel将把数据放入第70行。有没有其他人有这个问题?
通过代码,我可以看到我的rowCounter的价值是我所期望的。
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; }
你正在添加string,而不是数字:
"B" + rowCounter + m "B" + 1 + 0 "B10"
正确的版本:
"B" + (rowCounter + m).ToString()
"B" + rowCounter + m
与"B" + rowCounter.ToString() + m.ToString()
。 所以当rowCounter是1和m是0时,你得到B10。
- 有没有办法找出一个Excel 2007/2010文件是否使用SpreadSheetGear 2012 for C#Asp.net MVC密码保护?
- 从Excel导入值
- 错误:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册“
- 保存Excel到CSVpipe道分隔(XlFileFormat枚举)
- 在Excel表格中插入数据时插入语句中的语法错误
- 如果系统date时间格式发生更改,则在SQL Server中保存错误
- 将数据从Excel工作表读取到数据表中,而不使用C#中的空行
- C#正则expression式 – 从Excel公式中获取具有R1C1引用的行数据
- 需要Excel目标寻求逻辑