-
C# 엑셀파일 가져오기 using OleDb닷넷/C# 2017. 5. 22. 09:57반응형OleDb를 이용하면 컴퓨터에 엑셀이 설치되어있지 않아도, 엑셀 라이브러리를 참조하지 않아도엑셀의 데이터를 가져올 수 있다.
만약 안 된다고 하면 provider가 설치되어 있지 않아 그런 것이니 AccessDatabaseEngine을 설치하면 된다.
using System.Data.OleDb;private DataTable GetSheet(string excelPath){string connstring = string.Empty;if (excelPath.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의{connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelPath + ";Extended Properties=\"Excel 12.0;IMEX=1\"";}else{connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelPath + ";Extended Properties=\"Excel 8.0;IMEX=1\"";}OleDbConnection connect = new OleDbConnection(connstring);connect.Open();DataTable dt = connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);connect.Close();string sheetName = dt.Rows[0]["TABLE_NAME"].ToString();string sQuery = string.Format(" SELECT * FROM [{0}]", sheetName);dt = new DataTable();OleDbDataAdapter da = new OleDbDataAdapter(sQuery, connect);da.Fill(dt);return dt;}반응형'닷넷 > C#' 카테고리의 다른 글
C# 바이너리 파일 읽기 및 클래스에 담기 (0) 2017.05.26 C# DataGridView 데이터 엑셀파일에 저장 using oledb (0) 2017.05.24 C# FTP 연결 확인 및 파일 다운로드 (0) 2017.01.10 C# DB에 이미지가 16진수로 저장되어 있을 때 (0) 2016.12.07 C# hex string to image (0) 2016.12.07