2011-09-08 3 views
0

사용자가 단추를 클릭하고 Excel 파일을 찾아 데이터베이스에서 만든 데이터 테이블에 데이터를 복사하는 응용 프로그램을 만듭니다. 내가 VS2008 및 SQL Server 2005Visual Studio 2008을 사용하여 Excel 내용을 SQL Server 테이블에 복사

을 사용하고

나는 물론 파일을 열기위한 코드를 작성하고, .cs 파일에 데이터 테이블과 dataColumns를 만들었습니다. 그 밖의 무엇을해야합니까?

감사합니다. 아래의 코드가 SQL Server 테이블로 데이터를 덤프처럼

+0

내 answere에서보세요 [여기] (HTTP ://stackoverflow.com/questions/4942464/excel-to-datatable/4942571#4942571) – Willem

답변

0

당신은

string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("ImportFile.xls") + ";Extended Properties=""Excel 8.0;HDR=Yes;"""; 
    using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) 
    { 
     OleDbCommand command = new OleDbCommand("Select * FROM [NameOfTheDataSheet$]", connection); 
     connection.Open(); 

     using (DbDataReader dataReader = command.ExecuteReader()) 
     { 
      string sqlConnectionString = "SQL Connection String"; 
      using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString)) 
      { 
       bulkCopy.DestinationTableName = "ExcelDataTable"; 
       bulkCopy.WriteToServer(dataReader); 
      } 
     } 
    } 

가 서로 다른 요구 사항이있는 경우 알려주세요 쓸 수 있습니다.

0

당신은 Krishna가 조언 한대로 할 수 있지만 엑셀 파일과 데이터베이스 열의 열과 번호가 같은 경우에만 해당 코드가 작동합니다. 유지 보수의 용이성과 나는 매우 좋습니다 줄 아래로 매핑이 문서에서와 같이 SQL로 Excel 및 Linq에 LINQ의 조합을 사용

http://solidcoding.blogspot.com/2008/01/linq-to-excel-sql-import.html

관련 문제