당신은 어떻게 일반적으로 데이터 가져오기 스프레드시트에서 여러 데이터베이스를 열?

StackOverflow https://stackoverflow.com/questions/390784

문제

어떤 이유로,많은 클라이언트는 기존에 저장된 데이터를 스프레드시트.종종있다 수백,수천하지 않을 경우의 항목에서 각각의 스프레드시트,요청하는 클라이언트를 수동으로 입력을 통해 웹사이트(천국이 금지하거나 그들을 가져오는 방법으로 자신)은 질문입니다.일반적으로 이러한 데이터지 않는 단순히 지도 스프레드시트를 열을 데이터베이스를 열입니다.는 것이 너무 쉽습니다.종종 필요한 데이터를 조작으로 가기 전에 데이터베이스(데이터가 필요할 수 있는 쉼표로,등등)또는 필요한 데이터를 확산에서 여러 테이블이 있습니다.니다.

나는 이 질문을하지 않기 때문에 모르겠어의 다양한 방법으로 할,하지만하지 않았기 때문에 정하지 않는 방식 같은 느낌이 걸리는 보다 더 많은 일을 해야 합니다.지금까지 나는 모든 다음 방법(아마도 더 나는 잊어버린):

  • 엑셀을 사용하여 데이터를 수정하는,그래서 조금 더 쉽게 가져오기
  • 가져오는 전체 스프레드시트로 임시 테이블을 다시 가져오는 SQL
  • 스크립트를 작성과 데이터를 가져온 그것으로(사용 VBScript,C#그리고 지금 Ruby)

지금까지,스크립트를 사용하여 길이었는 듯 가장 유연하지만,그것은 여전히 느낌이폰.내가 이 작업을 수행하기에 충분했는지도 고려 작은 DSL,그것을 위해 단지를 사용합니다.

하지만 그것을 하기 전에,나는 호기심은,더 나은 방법이 있을까?

도움이 되었습니까?

해결책

이 있을 경계를 설정하는 경우에,당신은 할 수 있습니다.당신이 시도하고 제공하기 위한 템플릿을 사용하으로 예상되는 데이터 포함하는 파일 형식(엑셀,csv,etc.), 열 이름,유효한 값,etc.당신을 허용해야 사용하는 찾아보기 위해 파일 업로드에 당신의 페이지/form.

되면 파일을 업로드,당신은 당신이해야 할 검증 및 수입.당신이 사용할 수 있는 ADO.NET,파일 스트림,DTS/SSIS 거나,사무 자동화 이를 위해(사용하는 경우에는 Microsoft stack).유효성 검사에 부분은,당신은 사용자에게 말 정확히 그들은 무엇을 잘못했는지 또는 변경해야합니다.이 포함될 수 있습을 갖는 유효성 검사 페이지에서 실제 데이터 datagrid 고 제공하는 레드 라벨에 오류가 정확한 행/열이 있습니다.당신이 사용하는 경우 Office 자동화,당신은 그들에게 줄 수 있는 정확한 세포 수 있지만,사무실 PIA 입니다.

면 유효성 검증을 허용할 수 있는 정보를 가져올 것입니다.I 아보세요으로 넣고 준비 테이블을 사용하여 저장 proc 드,but that's just me.일부 개체를 사용하여 모델이지만,이는 속도가 매우 느려질 수 있습이 많은 경우의 데이터입니다.

는 경우 개인적으로 이것을 불러 파일을 수동으로 가서와 조작,그들이 찾는 공통점들이 그들과 함께 오는 표준을 따릅니다.일단 당신이는,당신은 그것을 만들 수 있습니다 그래서 사용자 스스로 할 수 있나 당신이 그것을 할 수있는 많은 빠르게 자신입니다.

예,이것은 많은 일이지만,장 잘못이 있을 때 실행되는 프로그램의 95%,시간을 모두 승리합니다.

이 될 상황 할 수없는 자동화된 후,당신은 아마 그냥을 해야 바닐라 스테이징은 테이블과 sql 을 수입.당신은 것을 로드하는 데 필요 데이터로 준비 중 하나 테이블,할 기본적인 조작,그리고 다음으로 로드하 테 준비하는 테이블의 SQL 하고 있습니다.

나는 그렇게 많은 수입품 및 ETL 도구,그리고 정말 쉽지 않을 처리하는 방법이다.유일한 방법은 정말로 가지고 올 수 있는 표준이 합리적이고 스틱을하고 프로그램습니다.

다른 팁

그래 .. 그냥 짜증나.

나는 대본과 함께 갈 것입니다. 그리고 다른 테이블의 단일 행과 일치하는 반복 열이 있다고 가정합니다. 나는 합리적인 일치를 할 것입니다. 스크립트가 처리 할 수없는 행을 만나면 데이터를 이동시킨 다음 로그인하고 누군가가 수동으로 수행하도록하십시오.

물론 이것에 대해 당신을 죽일 작은 세부 사항이지만, 일반적으로 Excel에서 CSV로 데이터를 내보낸 다음 Rool 또는 Script를 사용하여 읽고 필요에 따라 그것을 삽입하고 삽입하는 데 성공했습니다. . 내 환경의 놀라움에 따라 스크립팅 언어에 대한 데이터베이스 인터페이스로 수행 할 수 있으며 SQL Insert 문을 스크립트 파일에 작성하는 것을 포함하여 수행 할 수 있습니다.

좋은 CSV 패키지가 있습니다 파이썬, 루비, 그리고 .

DSL은 갈 길입니다.

문제에 대한 도메인 모델을 만듭니다. 셀, 열, 행, 데이터베이스 테이블, 분할 필드, 분할 필드, 셀에서 데이터베이스 열로 매핑하는 것에 대해 이야기하므로 필요한 개념에 대해 이야기합니다. 또한 아마도 (세포의) 범위와 시트를 원할 것입니다.

간단한보기는 기본 공식이 아닌 스프레드 시트의 값 만 살펴 봅니다. 스프레드 시트를 탭으로 구분 된 텍스트로 내보내면 이에 액세스 할 수 있습니다. 공식에 대한 액세스가 필요한 경우 XML 스프레드 시트 또는 Office XML 형식과 같은 XML 표현이 더 좋습니다.

Excel에서 DSL을 제시 할 수 있습니다. 이를 통해 더 똑똑한 사용자가 매핑의 일부를 수행 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top