[C#] 엑셀 시트명 읽어 오기 / Excel 파일내용 읽어오기

엑셀 시트명 읽어오기

엑셀 파일을 C#에서 다루는 방법을 간단히 알아봅시다.
우선 참조에 Microsoft.Office.Interop.Excel;
을 추가하고 코드 상단에
using Excel = Microsoft.Office.Interop.Excel;
를 추가 합니다. 엑셀을 읽기 위해서 필요합니다.

Excel.Application xlApp; // 엑셀 오브젝트를 선언하고
Excel.Worksheet  xlSheet; // 엑셀 시트 변수를 선언합니다.
xlApp = new Excel.ApplicationClass(); // 엑셀  오브젝트를 생성합니다.
xlApp.Visible = false; // 화면에서 안보이기
xlApp.DisplayAlerts =  false; // 에러메세지 안보이기
xlApp.Workbooks.Open(openFileDialog1.FileName, 0, false,  5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); 
//엑셀 파일 열기 옵션은 MSDN을  참조해주세요.
 
for (row = 1; row <= xlApp.Sheets.Count;row++)
{
  // 루프를 돌면서  엑셀 시트를 바인딩합니다.
  xlSheet = (Excel.Worksheet) xlApp.Sheets.get_Item(row);
  cbo_SheetList.Items.Add(xlSheet.Name);   // 시트 명을 콤보박스에 집어  넣기<
}
 
xlApp.Quit();  // 엑셀 오브젝트를 종료합니다.


Excel 파일내용 읽어오기(DataSet 이용하는 방법)

DataSet 를 이용하여 그리드에 Excel 파일 내용을 불러오는 방법입니다.

string connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Text;",
Path.GetDirectoryName( "파일명" ) );

// Propertiex를 Text로 하면 CSV 파일을 읽어 올수 있고 Excel 8.0 을 지정하면 엑셀 파일을 읽은수 있다.
string cmdString = string.Format( "SELECT * FROM {0}", "Sheet1" ); // 쉬트명
DataSet dataset = new DataSet();
using ( OleDbConnection conn = new OleDbConnection( connString ) )
{
    conn.Open();
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    adapter.SelectCommand = new OleDbCommand( cmdString, conn );
    adapter.Fill( dataset, "Test" );
    conn.Close();
}
dataGrid1.DataSource = dataset.Tables[0].DefaultView;

댓글

이 블로그의 인기 게시물

2025년 7월 다이어리

1. 대학교 축제 전시 프로젝트