使用ado.net的olddb的方式读取excel为何多出一些空白列呢?

解决方案 »

  1.   

    你是逐行读还是怎么读取呀?如果是填充式的估计会有,主要原因还是excel里本来就有空白列, 所读取时要判断。
      

  2.   

    DataTable dtResult = new DataTable();            OpenConnect(strFile);            string sqlSel = " SELECT * FROM [Sheet1$] ";
                OleDbCommand cmd = new OleDbCommand(sqlSel, conn);
                OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);            adapter.Fill(dtResult);            CloseConnect();            return dtResult;
      

  3.   

    最好用datareader来读,逐行读取,判断一下是否为空行,然后再进行添加,返回reader
      

  4.   

    没有空行,文件里也没有空列,但是读出的dataset还是有空列
      

  5.   

    肯定是excel中有空列存在,只是这个空列貌似没有办法用肉眼分辨的,不知道楼主是怎么判断没有空列的,
    建议楼主重新做一个excel,把现在这个excel的数据拷贝到新的excel中,切记不要正行拷贝,负责新作的excel和原来的没有什么区别。希望对你有帮助。