Excel 예외 읽기 필드가 너무 많은 해결 방법 정의

3158 단어 Excel
  /// <summary>  

       ///  Excel   

     /// </summary>  

       /// <param name="ExcelStr"> </param>  

       /// <param name="SheetName">Excel </param>  

       public static DataSet Class_ExcelSql(string ExcelStr, string SheetName)  

       {  

           OleDbConnection MyConn_E = new OleDbConnection();  

           OleDbCommand MyComm_E = new OleDbCommand();  

           OleDbDataAdapter MyAdap = new OleDbDataAdapter();  

           DataSet MyTable = new DataSet();  

           if (!File.Exists(ExcelStr))  

           {  

               DevExpress.XtraEditors.XtraMessageBox.Show(" !", " ");  

               return null;  

           }  

           string Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelStr + ";Extended Properties='Excel 8.0;HDR=Yes;'";  

           try  

           {  

               MyConn_E.ConnectionString = Conn_Str;  

               MyConn_E.Open();  

               MyComm_E.Connection = MyConn_E;  

               MyComm_E.CommandText = "select * from [" + SheetName + "$]";  

               MyAdap.SelectCommand = MyComm_E;  

               MyAdap.Fill(MyTable);  

           }  

           catch (OleDbException Err_My)  

           {  

               DevExpress.XtraEditors.XtraMessageBox.Show(Err_My.Message, " ");  

           }  

           if (MyConn_E.State == ConnectionState.Open)  

           {  

               MyConn_E.Close();  

               MyConn_E.Dispose();  

           }  

           MyComm_E.Dispose();  

           MyAdap.Dispose();  

           return MyTable;  

       }  

여기서 MyComm_E.CommandText = "select * from ["+ SheetName + "$]";이상 던지기 "과도한 필드 정의"
이 문제는 세 가지 해결 방법이 있을 수 있다
방법 1: Excel 추가 열 숨기기 시작 - 형식 - 숨기기 및 숨기기 취소 - 숨기기 열 선택
방법2: 검색 문장을 지정한 시작부터 끝까지 열로 바꿉니다
예를 들어, "select * from ["+ SheetName + "$A:IU";그 중에서 A:아이유 대표는 A부터 아이유까지 열거했다.
방법 3: 지정된 열 조회
예를 들어, "select 1열, 2열 from ["+ SheetName + "$]"입니다.
위의 세 가지 방법 모두'과다 필드 정의'를 해결할 수 있다

좋은 웹페이지 즐겨찾기