2014-02-26 3 views
0
h_header  data type       cp_retirementPlanningAnalysis  data type 
versionId  int         signifShortFall      varchar 
serviceId  varchar(10)       isProjIncAdeq      boolean 
creationTime date        howCloseRetire      varchar 
brandCode  varchar        clientsView       varchar 

위의 Excel 파일에는 테이블 이름이 될 헤더가 있으며 그 아래에 데이터 유형 옆에 열 이름이 있습니다. 각 열에서 테이블을 생성 할 수있는 쉬운 방법이 있습니까? 게다가 데이터 유형이있는 속성이 있습니까? 저는 70여 개의 테이블을 만들어야합니다.excel 열에서 sql 테이블을 생성하십시오.

+0

나는 쿼리를 구성하기 위해 다음 메모장 ++ 매크로를 .CSV 파일로 저장 사용하고 싶습니다. – Alexander

+0

이 특정 작업을 위해 미리 만들어진 매크로가 있습니까? –

+0

Notepad ++에서 매크로를 ** 쓰지 않아도됩니다. ++'stop'을 누를 때까지'start'를 누르고 동작을 기록합니다. 그런 다음 원하는만큼 여러 번 실행합니다. – Alexander

답변

1

Excel에서 직접 읽는 대신 Excel 테이블을 4 개가 아닌 2 개의 열로 쉽게 다시 포맷 할 수 있어야합니다. 그럼 당신은 CSV 파일로이를 저장할 수 있으며, 수동으로 다음과 같은 몇 가지 방법으로 쿼리를 작성 :

using System; 
using System.IO; 

namespace sample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Read all lines from csv file describing single table 
      string query = "CREATE TABLE "; 
      using (StreamReader sr = new StreamReader(File.OpenRead(@"C:\test\test.csv"))){ 
       // Skip the first line 
       sr.ReadLine(); 
       // Get the header from the second line 
       query += sr.ReadLine().Split(',')[0] + '('; 
       while (!sr.EndOfStream) 
       { 
        // Add parameters to query 
        string[] line = sr.ReadLine().Split(','); 
        query += line[0] + ' ' + line[1] + ','; 
       } 
       query = query.TrimEnd(','); 
       query += ");"; 
       Console.WriteLine(query); 
      } 
     } 
    } 
} 

이 엑셀에 대한 연결을 생성하지 않고 그것을 할 수있는 쉬운 방법의 단지 예입니다.

h_header,data type 
cp_retirementPlanningAnalysis,data type 
versionId,int 
signifShortFall,varchar 
serviceId,varchar(10) 
isProjIncAdeq,boolean 
creationTime,date 
howCloseRetire,varchar 
brandCode,varchar 
clientsView,varchar 

쿼리 : 그러나, 당신은 또한 다음과 같은 텍스트 CSV 파일로 등

을 각 장을 통해 루프를 엑셀 파일에 직접 연결하거나이를 통해 루프 Linq를 사용할 수 있습니다 작성 :

CREATE TABLE cp_retirementPlanningAnalysis(versionId int,signifShortFall varchar,serviceId varchar(10),isProjIncAdeq boolean,creationTime date,howCloseRetire varchar,brandCode varchar,clientsView varchar);

관련 문제