이전 포스트 였던 C#을 이용한 엑셀(쓰기) C# and Excel (writing) 에서 이 번 포스팅 에서는 엑셀(읽기)를 해보겠습니다.
이전 포스트와 같은 환경 Microsoft Visual Studio 2008 + Microsoft Office Excel 2007 이며 처음 참조추가 하는 부분은 같습니다. 혹시 이 글을 처음 보신다면 이전 글을 먼저 확인해 보세요^^.
역시 이번 포스팅도 상당히 간단하게 끝납니다. 역시 사용법을 몰랐을 뿐이죠…
01.
string
conStr = @
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\sample.xlsx;Extended Properties=\"Excel 12.0;HDR=YES;\""
;
02.
OleDbConnection excelConnection =
new
OleDbConnection(conStr);
03.
excelConnection.Open();
04.
05.
string
strSQL =
"SELECT * FROM [Sheet1$]"
;
06.
OleDbCommand dbCommand =
new
OleDbCommand(strSQL, excelConnection);
07.
OleDbDataAdapter dataAdapter =
new
OleDbDataAdapter(dbCommand);
08.
09.
DataTable dTable =
new
DataTable();
10.
dataAdapter.Fill(dTable);
11.
12.
dataGridView_excel_data.DataSource = dTable;
13.
14.
// dispose used objects
15.
dTable.Dispose();
16.
dataAdapter.Dispose();
17.
dbCommand.Dispose();
18.
19.
excelConnection.Close();
20.
excelConnection.Dispose();
1번째 줄에서는
Provider=Microsoft.ACE.OLEDB.12.0; 오피스 버전에
영향을 받습니다.
Data Source=c:\sample.xlsx; 파일경로 입니다.
Extended Properties="Excel 12.0;HDR=YES"; 엑셀을 가르키며, HDR 은 엑셀
데이터의 첫번째 row 를 columnname 으로 지정할지 하지 않을지 결정하게됩니다. YES
는 지정입니다.
2~11번째는 OleDb 커넥,명령 등입니다.
12번째 줄은 폼에서 생성한 DataGridView에 DataSource로 dTable 을 지정하는 부분입니다. 이부분을 지나게 되면 폼에서 DataGridView에 내용이 채워지게 됩니다.
14~20번째 는 OleDb 커넥 종료와 Objects 들을 Dispose 하게 됩니다.
1번째 줄의 HDR=YES or NO 를 통해 어떻게 바뀌는지 확인해 보겠습니다.
우선 Excel File 윈 원본 데이터를 먼저 보겠습니다.
HDR=YES 로 설정한 경우는 아래와 같이 DataGridView 에 컬럼 제목으로 들어가게 됩니다.
반면 HDR=NO 로 설정하게 되면 컬럼명은 기본 셋팅값으로 바뀌고 원하던 바로 되지 않고 제목까지 데이터 쪽으로 내려가 버립니다.
이제부터는 원하는 부분을 읽어보도록 하겠습니다. (DataGridView 내용에서)
1.
//DataGridView 에서 Rows 를 얻어옵니다.
2.
DataGridViewRowCollection rowCollection = dataGridView_excel_data.Rows;
3.
string
getStr = rowCollection[1].Cells[3].Value.ToString();
row는 열을 가리키며 가로줄 입니다. 1줄에서 데이터그리드로 부터 Rows 를 얻어와 컬렉션에 집어 넣습니다. 이렇게 되면 rowCollection 을 통해 내용을 얻어 올 수 있습니다. 그리하여 다음줄에 인덱스연산을 통해 원하는 부분의 Value 를 얻어 올 수 있습니다.
어때요 참 쉽죠?ㅋ
또 한번의 간단한 포스팅이 끝났네요^^ㅎ 다음 포스팅에서는 인쇄 작업을 해보겠습니다.
출처 : http://dklee.net/46
'소프트웨어 > C# & ASP.NET' 카테고리의 다른 글
XML 파일 읽기를 테스트해 보았다... (Count) (0) | 2009.09.29 |
---|---|
Visual Studio 2010 CTP 버전 다운로드 주소 (0) | 2009.08.27 |
Visual Studio 2005 Tip (0) | 2009.08.18 |
한글,영어 문자열 길이 알아보기 (0) | 2009.08.18 |
String Formatting (0) | 2009.08.13 |