Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将特定excel单元格导入texbox:对象引用未设置为抛出的对象的实例#_C# - Fatal编程技术网

C# 无法将特定excel单元格导入texbox:对象引用未设置为抛出的对象的实例#

C# 无法将特定excel单元格导入texbox:对象引用未设置为抛出的对象的实例#,c#,C#,您好,我正在尝试将特定excel单元格的值导入表单上的文本框。该值将在表单加载后立即显示。现在这个单元格可以是空的,我正在处理空值,但是每次传递空值时,它都会抛出一个异常并进入catch。以下是我的代码片段: try { var v; if( oSheet.Cells[3, 4].Value2 != null) { v = Sheet.Cells[3, 4].Value2; var s = Convert.ToString(v);

您好,我正在尝试将特定excel单元格的值导入表单上的文本框。该值将在表单加载后立即显示。现在这个单元格可以是空的,我正在处理空值,但是每次传递空值时,它都会抛出一个异常并进入catch。以下是我的代码片段:

try
{
    var v;
    if( oSheet.Cells[3, 4].Value2 != null)
    {
        v = Sheet.Cells[3, 4].Value2; 
        var s = Convert.ToString(v);
        textBox1 = string.Format("{0:N2}", s);
    } 
    else 
    { 
        v = 0;
        var s = Convert.ToString(v);
        textBox1 = string.Format("{0:N2}", v);
    } 
}
catch(Exception)   
{
    string errorMessage = "Data cannot be retrieved from the strats file ;
    MessageBox.Show(errorMessage);
}
catch显示此异常“对象引用未设置为对象的实例”。我正在处理空的oSheet.Range.Value2,那么为什么它一到达if语句就抛出错误呢?有人能帮我解决这个问题吗?因为好几天你都初始化了“oSheet”对象了吗


嗯。。。我没有。。。你如何初始化osheet我的意思是它不是一个变量或什么的?。。。是的,我注意到拼写错误,但已经处理好了。您的意思是,在定义oSheet时,我应该这样定义oSheet
Microsoft.Office.Interop.Excel.\u工作表oSheet=new Microsoft.Office.Interop.Excel.\u工作表Microsoft.Office.Interop.Excel.\u工作表oSheet?osheet的类型是什么?我认为您必须先将excel读入工作簿,然后使用“工作表osheet=(工作表)workbook.sheets[I]”进行初始化,您可以从中获得更多说明,我将向您展示整个代码,以便更清楚:“
命名空间WindowsFormsApplication1{公共部分类Form2:Form”{公共表单5 frm1;Microsoft.Office.Interop.Excel.Application oXL;Microsoft.Office.Interop.Excel.\u工作簿oWB;Microsoft.Office.Interop.Excel.\u工作表oSheet;oSheet=(Microsoft.Office.Interop.Excel.\u工作表)oWB.工作表[“仪表板”]这是我的工作代码:Excel.Application excelApp=new Excel.Application();string workbookPath=“C:/Book1.xlsx”;Excel.Workbook Excel工作簿=excelApp.Workbooks.Open(workbookPath,0,false,5,”,“”,false,Excel.XlPlatform.xlWindows,“”,true,false,0,true,false,false);Excel.Sheets excelSheets=excelWorkbook.Worksheets;//我无法用空值osheet复制您的问题。
if( oSheet.Cells[3, 4].Value2 != null)
{
//I think you have a spelling mistake,    oSheet.Cells[3, 4] vs Sheet.Cells[3,4] 
    v = Sheet.Cells[3, 4].Value2; 
....
}