2011-01-17 9 views
0

Excel speradheet에서 읽은 DataTable 개체가 있습니다. 스프레드 시트에는 빈 칸이 있기 때문에. 헤더 데이터가있는 열만 유지하는 DataTable의 빈 열을 제거하고 싶습니다. 각 열을 읽는 것보다 더 나은 접근법?C#에서 지정한 열 양식 DataTable 선택

저는 C# 3.5를 사용합니다.

+0

Excel 스프레드 시트를 어떻게 읽나요? 어쩌면 거기에서 뭔가 할 수 있습니다. . . –

답변

0

각 열을 반복하여 데이터를 가져 오는 대신 "OleDbConnection"을 사용하는 것이 좋습니다. 공백 열을 피할 수 있습니다.

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0"); 

OleDbDataAdapter da = new OleDbDataAdapter("select * from YourTable", con); 

DataTable dt = new DataTable(); 

da.Fill(dt); 
+0

우리의 이전 구현은 정확히 똑같은 ...! Excel이 설치된 서버에 설치되어있는 경우에만 작동합니다 ... – Amit

+0

Excel을 설치해야 작동하지 않습니다. 2007 Office System 드라이버 : 데이터 연결 구성 요소는 http://www.microsoft.com/downloads/en/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en에서 다운로드하십시오. – Binil