无法将单元格中的数据分配给变量

时间:2015-11-13 15:27:37

标签: c# excel visual-studio

我正在编写代码,从一个excel文档中获取数据并将其放入另一个excel文档中。我这样做的想法是将数据从起始工作簿写入变量,然后使用该变量将数据写入结束工作簿。这是我的代码:

alert(typeof y);

这只是进入工作簿的介绍代码,这是我遇到问题的代码:

sApp = new Excel.Application
sApp.Visible = false;
sBook = sApp.Workbooks.Open(SfilePath.ToString());
sSheet = (Excel.Worksheet)sBook.Sheets[1];

当我运行程序时,出现错误

  

ArgumentException未处理。   类型为' System.ArgumentException'的未处理异常发生在mscorlib.dll中。附加信息:参数不正确。 (HRESULT异常:0x80070057(E_INVALIDARG))

当我研究这个错误代码(HRESULT:0x80070057)时,我发现其他人遇到了同样的问题。但是,所有给出的解决方案对我来说都没有用(即清除bin,清除Temp文件)。

有没有人可以给我任何见解?如果您认为您可能需要了解更多关于代码的信息,请告诉我。

谢谢。

3 个答案:

答案 0 :(得分:0)

    Try this..

    Excel.Range workSheetUsedRange = sSheet.UsedRange;

    string formNumber = string.Empty;

    if ((workSheetUsedRange.Cells[rowIndex, columnIndex] as Excel.Range).Value2 != null)
                    formNumber = (workSheetUsedRange.Cells[rowIndex, columnIndex] as Excel.Range).Value2.ToString();
                excelUtil.SaveWorkBook(file, ref workbook);

You can use this code to get the value of any cell using rowIndex and columnIndex.
It is a good practise to check if the value of the cell that you are trying to read is null. If the value is null, you get an exception.

答案 1 :(得分:0)

最后一行是保存工作簿。看起来我使用我的实用程序库粘贴了一个代码。您可以使用代码进行保存。除了您提到的错误代码,您收到的错误消息是什么?您能否提供有助于理解问题/错误的其他详细信息?

答案 2 :(得分:0)

我发现了自己的错误,我试图用他们的名字召唤细胞" J2" ," K2"。 但你不能这样做,它必须是他们的点位置。感谢所有提交答案的人,我很感激。