2014-02-20 5 views
0

나는 엑셀 파일을 가지고 있으며 사용자가 버튼을 클릭하면 엑셀 파일을 데이터 그리드보기에 표시하려고합니다. 열은엑셀 데이터 그리드보기로 내보내기

Date, Day, Start time, End time, Totaltime, Difftime and Work done. 

입니다. 그리고 A10 행과 A11 행에 대한 샘플 행 데이터는 다음과 같습니다.

A10 2014년 1월 3일 Saturda 8시 20분 22시 반 13시 40분 4시 40분 디자인

A11 2014년 2월 3일 일요일 9시 21시 11시 반 2시 반

코딩

내 행의 범위는 10 ~ 40이며 열은 AG

입니다. 데이터 그리드보기로 가져 오면 날짜와 시간이 올바르게 표시되지 않습니다. 2014 년 1 월 3 일에 404977이 표시됩니다. Excel 파일을 DataGridview로 내보내고 DataGridview에서도 Excel과 동일한 코드를 표시해야합니다. 누구나 C#에서 날짜, 시작, 종료, 총, 차이, datagridview 열로 작업하는 방법을 설명 할 수 있습니까?

enter image description here

+0

수출 또는 수입? 창문 양식? – Sajeetharan

+0

Openxml과 같은 것을 사용하여 Excel 파일에서 데이터를 읽고 일부 POCO 개체에 데이터를 저장 한 다음 데이터 그리드에 쓸 수 있습니다. 해당 엑셀 컬럼의 데이터 유형을 확인 했습니까? 어쨌든 데이터를 어떻게 읽나요? – Ren

+0

@Sajeetharan이 데이터 그리드보기에서 탁월한 성능을 보여줍니다. –

답변

0

나는, 당신이 윈도우 폼 DataGridView에에 가져올 가정

엑셀 2003, 엑셀 2007

private void button1_Click(object sender, EventArgs e) 
    { 
     String name = "Yoursheetname"; 
     String constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
         "C:\\Sample.xls" + 
         ";Extended Properties='Excel 8.0;HDR=YES;';"; 

     OleDbConnection con = new OleDbConnection(constr); 
     OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$]", con); 
     con.Open(); 

     OleDbDataAdapter sda = new OleDbDataAdapter(oconn); 
     DataTable data = new DataTable(); 
     sda.Fill(data); 
     grid_items.DataSource = data; 
    } 

,

private void button1_Click(object sender, EventArgs e) 
    { 
     String name = "Yoursheetname"; 
     String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + 
         "C:\\Sample.xlsx" + 
         ";Extended Properties='Excel 12.0 XML;HDR=YES;';"; 

     OleDbConnection con = new OleDbConnection(constr); 
     OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$]", con); 
     con.Open(); 

     OleDbDataAdapter sda = new OleDbDataAdapter(oconn); 
     DataTable data = new DataTable(); 
     sda.Fill(data); 
     grid_items.DataSource = data; 
    } 
+0

콜럼프 날짜, 요일 표시 방법 , 시작 ... 그들에 대한 쿼리가 될 것입니다 .... 또한 내 행 범위는 10-40 어떻게 열 10-40을 선택하고 쿼리를 사용하여 coloms AG를 –

+0

당신이 갖고 싶어하면 그것은 자동으로 바인딩됩니다 datagridview에 대한 사용자 정의 열이있는 사용자 정의 열을 읽을 수 있습니다. – Sajeetharan

+0

나는 10에서 40까지의 oly 행과 g에서 coloum을 그리드보기에 나타 내기를 원한다. –