엑셀데이터=>MySQL : phpschool 에서 퍼옮김니다~~ > 그누3 팁자료실

그누3 팁자료실

엑셀데이터=>MySQL : phpschool 에서 퍼옮김니다~~ 정보

일반 엑셀데이터=>MySQL : phpschool 에서 퍼옮김니다~~

본문

저도 해본적은 없구요,
다만 스쿨에서도 같은 질문이 많이 올라오길래 퍼와봅니다...
telnet 으로 접속하셔서, Mysql 데몬에 명령을 주시면 된다구 하네요...

다만, 미리 MySQL DB는 물론이고,
테이블과 그 테이블 각각의 필드까지 미리 만들어져 있어야 순차적으로 인서트된다고 합니다....

1. 엑셀에서 "tab" 등의 특수문자로 분리해서 csv 파일로 저장하기
2. 계정에 업로드
3. 텔넷접속
4. 엑셀의 필드 갯수와 타입에 맞게 데이터테이블의 필드생성
5. mysql 의 load data infile ... into $table 명령어를 이용한 삽입

이라고 합니다.~
====================================================================

엑셀 파일을 저장 하는 형식에서 보면 tab으로 분리하여 저장하기(물론 다른 특수 문자도 됨)가 있습니다.
그렇게 저장된 파일을 한줄씩 끝까지 읽어 들입니다.
그런 다음 그 줄을 특수 문자로 분리하여 저장하면 됩니다.
반대의 경우도 마찬 가지 겠죠.
디비에서 긁어 와서 특수 문자로 분리하여 파일을 만듭니다.
그럼 후 엑셀 파일에서 읽어 들이면 되죠. 0
  
 Excel 에서 CSV 파일을 만들어서 mysql 에서 load data 로 읽어들이면 될 거구요.
두번째 DB 에서 Excel 로 전환은 web 에서도 자주 써야 하는데요. header 를 아래와 같이 하신 후에 table 출력을 하시면 excel file 을 바로 얻으실 수 있습니다. windows 환경이라면 COM 을 이용해도 될 듯 싶습니다.
header("Content-type: application/vnd.ms-excel" );
header("Content-Disposition: attachment; filename=test.xls" );
header("Content-Description: PHP4 Generated Data" );
header("Pragma: no-cache");
header("Expires: 0");

====================================================================

mysql > 상에서 그냥 명령어 치세요
load data infile 'a.txt' into table $table fields terminated by '\t';
TAB으로 구분 되었을 때에는 fields terminated .. 안쓰셔도 되구요, --> 만약 윈도우라면 적어주셔야 할듯
그리고 TAB은 't' 가 아니고 '\t'입니다.
화일명은 전체 경로를 모두 적어 주세요


=====================================================================

=====================================================================


=====================================================================


=====================================================================
추천
12
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로