那你就循环这个dataset的Datatable呗
如果某值为空
那就报Message然后break掉

解决方案 »

  1.   

    遍历da["sheet1"],看哪个格子是空的可以得到空格子的行号和列号如果要把列号转成ABC样子,可以字义一个一维数组,从A开始,到ZZ然后用列号做索引,就取出字母样子了
      

  2.   

    遍历da["sheet1"],看哪个格子是空的可以得到空格子的行号和列号如果要把列号转成ABC样子,可以字义一个一维数组,从A开始,到ZZ然后用列号做索引,就取出字母样子了
      

  3.   

    Range rng = Ws.get_Range("A1B1");
    if (rag !=null && rag.Value2=="")
       lblMessage1.Text = ("错误!:" + ex.Message.ToString());
      

  4.   

    这个我也知道,只能循环dataset吗?一个一个判断? 我只是想判断每行A,B,D列的值就可以了,其他的可以为空。
      

  5.   

          for(int i=0;i<ds.Tables[0].Columns.Count;i++)
            {
                for(Int64 j=0;j<ds.Tables[0].Rows.Count;j++)
                {
                    if(ds.Tables[0].Rows[j][i].ToString()==DBNull.Value  || s.Tables[0].Rows[j][i].ToString()=="")
                    {
                       //报错
                    }
                }
            }
      

  6.   

    chen2319 
    永远=多远 
    等级: 
    可用分等级:中农 
    总技术分:2 
    总技术分排名:292796 
    结帖率:81.63% 
      

  7.   

      for(int i=0;i <ds.Tables[0].Columns.Count;i++) 
            { 
                for(Int64 j=0;j <ds.Tables[0].Rows.Count;j++) 
                { 
                    if(ds.Tables[0].Rows[j][i].ToString()==DBNull.Value  || s.Tables[0].Rows[j][i].ToString()=="") 
                    { 
                      //报错 
                    } 
                } 
            }
      

  8.   

    有没有直接遍历Excel文件的方法?
      

  9.   


    当然有,但是你得引用相应的DLL
    你不是用OleDbConnection 的方法么
    这种方法只能循环如果你用Excel.Application的话
    可以直接找到那个行、列
      

  10.   

    首先引用Excel的DLL
    Excel.Application oXL;
    Excel._Workbook oWB;try
    {
        //Start Excel and get Application object.
        oXL = new Excel.Application();
        oXL.DisplayAlerts = false;    //Get a new workbook.
        oWB = (Excel._Workbook)(oXL.Workbooks.Open(你的Excel文件, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value));    //Excel的索引从1开始
        //get sheet
        Worksheet sheet = (Excel.Worksheet)oWB.Worksheets.get_Item(Sheet的索引);
        //get cell value
        string result = ((Excel.Range)sheet.Cells[行索引, 列索引]).Text.ToString().Trim();
        if (String.IsNullOrEmpty(result))
        {
            MessageBox.Show("不能为空!");
        }    //dispose excel
        oWB.Close(false, Missing.Value, Missing.Value);
        oXL.Quit();
        oWB = null;
        oXL = null;
        GC.Collect();
    }
    catch (Exception theException)
    {
        String errorMessage;
        errorMessage = "Error: ";
        errorMessage = String.Concat(errorMessage, theException.Message);
        errorMessage = String.Concat(errorMessage, " Line: ");
        errorMessage = String.Concat(errorMessage, theException.Source);    MessageBox.Show(errorMessage, "Error");
    }
      

  11.   

    参考
    http://www.cnblogs.com/liuzhixian/articles/851983.html
      

  12.   

    循环datatable吧。
    用OleDbDataReader的话也需要循环。
      

  13.   

    sheet=(Excel.Worlsheet)book.Worksheets[1];
    for(int i=1;i<sheet.Rows.count;i++)
    {
     s=sheet.get_Range("A"+i.ToString(),Missing.Value).value1.ToString();
    }