2010년 10월 4일 월요일

[php] 엑셀파일[xlsx]을 mysql 에 밀어넣기

 

권한이 없어 load data infile 을 사용할 수 가 없어 노가대로 밀을 수 밖에 없었다

 

처리 절차

 

1. xlsx 파일을 새로운 이름 [csv]로 저장 => 이때 쉼표구분을 함

 

2. csv 를 서버에 업로드

 

3. csv 값을 넣을 임시 테이블 생성

 

4. 다음 소스를 이용하여 임시 테이블에 insert 한다.

 

$fr = file('test.csv');

$dataCmt = count($fr);
for($i=0;$i<$dataCmt;$i++){
  $txt = "";
  $test = str_replace("\r\n","",$fr[$i]);
  $txt = explode(",",$test);
  mysql_query("insert into test values ('$txt[0]','$txt[1]','$txt[2]','$txt[3]','$txt[4]','$txt[5]','$txt[6]','$txt[7]','$txt[8]','$txt[9]')");

 

5. 임시 테이블에 들어간 값을 이용하여 원래 들어가야 하는 테이블에 입력 또는 수정한다.

 

$test = mysql_query("select * from test");

while($rows = mysql_fetch_row($test)){
   if($rows[3] != ""){
     $jumin =  explode("-",$rows[3]);
     $jumin1 = $jumin[0];
     $jumin2 = $jumin[1];
  }else{
     $jumin1 = "";
     $jumin2 = "";
  }
  mysql_query("update real_table set jumin1='$jumin1',jumin2='$jumin2' where id='$rows[0]'");
}

6. 처리 완료

0 개의 댓글:

댓글 쓰기