티스토리 뷰

나는 프로그래머다!/C#

엑셀 DB화

JinyGo 2012. 2. 9. 15:52

OleDb을 이용해서 DB select 하듯이 엑셀내용을 DataTable로 읽어오는 부분입니다.
 
<<예제소스 : 필요에 따라 변경하세요~>>
               string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended
               Properties=Excel 8.0;", 파일명);
                OleDbConnection conn = new OleDbConnection(connectionString);
                conn.Open();
                //시트명을 datatable로 반환한다.
                DataTable worksheets = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                //첫번째 시트를 가져오는 쿼리작성
                string commandString = String.Format("SELECT * FROM [{0}]", worksheets.Rows[0]["TABLE_NAME"]);
                //Command 생성
                OleDbCommand cmd = new OleDbCommand(commandString, conn);
                OleDbDataAdapter dapt = new OleDbDataAdapter(cmd);
                //DataSet이나 DataTable에 채우기
                DataSet ds = new DataSet();
                dapt.Fill(ds);
                conn.Close();
 
엑셀 DB업로드가 확실하게 어떤건지 모르겠지만..
엑셀내용을 Row단위로 DB에 Insert하는게 아닐까 생각해봅니다.
그러면 저렇게 읽어서 반환된 DataTable에 Row별로 DB에 Insert하시면될듯합니다.
DB 컬럼 = 엑셀컬럼 두개가 같다면 쉽게 될듯하고요..
다르다면 머리를 더 슝슝 굴려야 할듯합니다.
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday