OLEDB를 사용하여 EXCEL 파일 읽기

4167 단어 C#c# 파일
이름공간 usingSystem을 추가합니다.Data.OleDb;//Excel 테이블 데이터 작업
//파일 선택
 private void simpleButton1_Click(object sender, EventArgs e)
        {
            textEdit1.Text = SelectPath();
        }

        private string SelectPath()
        {
            string path = string.Empty;
            var openFileDialog = new Microsoft.Win32.OpenFileDialog()
            {
                Filter = "Files (*.xls)|*.xls|(*.xlsx)|*.xlsx"// txt ("Files (*.txt)|*.txt")
                //Filter = "Files ( )|*.*"
            };
            var result = openFileDialog.ShowDialog();
            if (result == true)
            {
                path = openFileDialog.FileName;
            }
            return path;
        }

//Excel 파일 읽기
 public static DataTable ReadExcel(string filePath)
        {
            try
            {
                // , 
                string strConn;
                //strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel8.0;HDR=False;IMEX=1'";
                strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" + filePath + ";Extended Properties='Excel 12.0; HDR=NO;IMEX=1'";// .xls .xlsx 
                OleDbConnection OleConn=new OleDbConnection(strConn); 
                OleConn.Open();
                String sql = "SELECT* FROM[Sheet1$]";// Sheet , sheet2,  
                OleDbDataAdapter OleDaExcel=new OleDbDataAdapter(sql,OleConn);
                DataSet OleDsExcle=new DataSet();
                OleDaExcel.Fill(OleDsExcle,"Sheet1");
                OleConn.Close(); 
                return OleDsExcle.Tables["Sheet1"];
            }
            catch(Exception err)
            {
                MessageBox.Show(" Excel ! :"+err.Message," ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return null;
            }
        }
 DataTable dt = ReadExcel(textEdit1.Text); ;// Excel DataTable 

위 코드는 Excel의 읽기를 실현하고 내용을 데이터 세트에 저장합니다.이어서 이 데이터테이블을 어떻게 응용하는지 설명해 주세요.
방식 1: 데이터테이블 내용을 DataGridView에 읽고 모든 Excel 내용을 표시합니다.1. DataGridView 컨트롤을 추가하고 dataGridView12로 이름을 지정합니다.DataGridView 데이터 바인딩 문구 추가: DataTabledt;//Excel 테이블의 내용 저장 dt=ReadExcel("E://1.xls");//여기 경로는 Excel 양식에 저장된 경로 dataGridView1을 가리킵니다.DataSource=dt;
방식2:1.label 탭을 추가합니다. 이름은label12입니다.문장 추가하기;label1.Text=dt.Rows[x][y].ToString();//여기 인자 x, y, 대응하는 것은 당신의 Excel 표의 단원격 내용입니다.참고로, x, y는 0부터 값을 얻습니다.마지막으로 한 가지 더 설명할 것은 읽을 내용이 Excel 표의 두 번째 줄에서 시작된다는 것이다.첫 번째 줄, 데이터베이스에 있는 필드 이름과 유사합니다. 읽지 않습니다.

좋은 웹페이지 즐겨찾기