2014-02-26 2 views
0
Main Section Section Name Shorted (30 chars max) Attribute Name Shorted (30) 
header   header        versionId 
header   header        serviceId 
header   header        creationTime 
header   header        brandCode 
clientProfile retirementPlanningAnalysis   signifShortFall 
clientProfile retirementPlanningAnalysis   isProjIncAdeq 
clientProfile retirementPlanningAnalysis   howCloseRetire 
clientProfile retirementPlanningAnalysis   clientsView 
clientProfile regularSavingsAndCapitalInvest  suffCashResEmerg 

나는이 테이블을 Excel에서 가지고 있으며, SQL에서 여러 테이블을 생성해야합니다. 각 테이블은 "기본 섹션 이름"과 "섹션 이름"으로 구성됩니다. 예 : header_header 또는 clientProfile_retirementPlanningAnalysis. 각 고유 섹션 이름에 대해 새로운 테이블을 반복하고 만드는 가장 좋은 방법은 무엇입니까? 열은 속성 이름에서 나올 것이므로 쿼리에도 이들을 설정해야합니다.엑셀 스프레드 시트에서 SQL 테이블 만들기 C#

+0

시도한 내용은 무엇입니까? 이 프로세스를 한 번 실행해야합니까? 여러번? Excel 구조가 바뀔까요? –

+0

이것은 단 한 번의 프로세스이므로 관계형 모델을 만들 수 있습니다. 나는 목록에 데이터를 추가하려고 시도했지만 단 하나의 메인 섹션 행에서 테이블을 만드는 경우 속성을 첨부하는 가장 좋은 방법은 확실치 않습니다. –

+0

Excel 파일이 복잡합니까? 한 번 수동으로 데이터베이스 모델을 구축 할 수 있습니까? –

답변

0

이 Excel 파일을 DataSource로 생각하고 ADO.Net에서 Oledb를 사용하여 스프레드 시트를 DataTable로 가져옵니다. 이렇게하면 전체 스프레드 시트가 DataTable에 저장됩니다. 그리고 데이터 테이블에서 필요한 처리를 수행하십시오. 요구 사항에 따라 SQL로 테이블을 생성하십시오. 귀하의 도움을 위해 도움이 될 수있는 몇 가지 코드가 포함되어 있습니다.

System.Data.DataTable table1 = new System.Data.DataTable(); 
      OleDbConnection dbConnection1 = 
        new OleDbConnection 
         (@"Provider=Microsoft.Jet.OLEDB.4.0;" 
         + @"Data Source=YourFileName.xls;" 
         + @"Extended Properties=Excel 8.0;HDR=Yes;"); 
      dbConnection1.Open(); 
      try 
      { 
       OleDbDataAdapter dbAdapter1 = 
        new OleDbDataAdapter 
         ("SELECT * FROM [Sheet1$]", dbConnection1); 
       dbAdapter1.Fill(table1); 
      } 
      finally 
      { 
       dbConnection1.Close(); 
      } 

엑셀 파일을 읽는 가장 좋은 방법입니다. 이제는 DataTable table1을 사용하여 원하는대로 추가 처리를 수행 할 수 있습니다.

관련 문제