2011-04-13 4 views
0

에 나는 같은 데이터 테이블에 엑셀 시트를 복사하고 :C#을되어 OleDbConnection 엑셀

OleDbCommand command = new OleDbCommand(); 

      command = new OleDbCommand("Select * from [working sheet$]", oleDBConnection); 
      OleDbDataAdapter dataAdapter = new OleDbDataAdapter(); 
      dataAdapter.SelectCommand = command; 

      dataAdapter.Fill(dt); 

난 그냥 단순히 엑셀 시트에 데이터 테이블을 다시 복사 할 수 있습니다 유사한 방법이 있습니까? 계속 찾는 예제는 셀별로 셀을 복사하는 것이지만 큰 데이터 세트를 사용하면 눈에 띄게 느려질 수 있습니다.

감사

+1

왜 두 번 명령을 작성하고 있습니까? – SLaks

답변

1

당신은

+0

우수, 나는 거기에 단순한 것이 있어야한다는 것을 알고있었습니다. 감사. –

+0

업데이트 명령이 무엇이겠습니까? 기본적으로 Excel 시트에 새로운 업데이트를 적용하려고합니다. 하지만 Google에서 적절한 업데이트 명령의 예를 찾을 수 없습니다. 감사. –

+0

OleDbCommandBuilder를 사용하십시오. 그것은 보통의 UPDATE 문일 것입니다. – SLaks

0

정말 Excel에서 인 OleDB에 대해 잘 몰라 (이 경우, 또는 스프레드 시트) 데이터베이스에 DataTable을에 변경 사항을 적용 DataAdapter.Update method, 찾고 ,하지만 당신이 데이터베이스를 언급 한 이후로, 나는 이것이 서버에서 실행된다고 가정합니까? Microsoft는 실제로 서버에서 실행중인 Excel을 권장하지 않습니다.

은이 같은 작업의 OpenXML을 사용합니다. 좀 더 복잡하지만 저장과 안정입니다.

+0

그는 Excel을 실행하지 않습니다. 서버에서 OleDB를 사용할 때 아무 문제가 없습니다. 또한 그가 서버에 있다고 가정 할 이유가 없습니다. – SLaks