좋은질문

C#의 OLEDB로 엑셀파일을 생성해서 내용을 쓰려고 하는데요.

JustineBaek 2014. 8. 31. 20:40

 

 

 

 

...안녕하세요, C#의 OLEDB로 엑셀파일을 생성해서  내용을 쓰려고 하는데요.


// OLEDB를 이용한 엑셀 연결
string szConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\\test.xlsx" + ";Extended Properties='Excel 12.0;HDR=YES'";
OleDbConnection conn = new OleDbConnection(szConn);
OleDbCommand cmd = conn.CreateCommand();
conn.Open();

// 데이타 추가
cmd = new OleDbCommand("INSERT INTO [Sheet1$]('회사','사번','이름','부서','카드번호')

                                          VALUES ('A3','B3','C3','B3','C3')", conn);
cmd.ExecuteNonQuery();     <===이 부분에서 에러

conn.Close();

이런 식으로 넣는데 아래와 같은 오류가 나옵니다
'Microsoft Access 데이터베이스 엔진에서 'Sheet1$' 개체를 찾을 수 없습니다.'

대체 어떤게 문제인가요? 파일만 생성되고 써지질 않습니다.

 

 

 

 

...아래와 같이 Connection 개체의 GetOleDbSchemaTable 메소드를 이용하여 정확한 테이블 이름을 전달해 보세요.

 

DataTable schema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string tableName = schema.Rows[0]["TABLE_NAME"].ToString().Trim();

 

cmd = new OleDbCommand( "INSERT INTO [" + tableName + "] ('회사','사번','이름','부서','카드번호')

                                           VALUES ('A3','B3','C3','B3','C3')", conn);

 

 

 

written by

  

legend 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,
c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,
c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,
데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,
서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄

광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도