형식이 다른 엑셀 파일 DB에 올리기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

형식이 다른 엑셀 파일 DB에 올리기 정보

형식이 다른 엑셀 파일 DB에 올리기

본문

엑셀 파일을 DB에 올리고자하는데 형식이 다른경우에 쓰는 방법입니다.

같은 폴더에 CSV로 저장한 엑셀 파일과 빈 query.sql 파일을 하나 생성하고
아래 양식대로 php 파일을 생성합니다.

/* 주석처리부분은 파일 내에서 sql을 실행할 때 이용하세요.
$host="localhost";
$user="myid";
$passwd="mypass";
$dataname="mydb";

$con=@mysql_connect($host,$user,$passwd,true);
@mysql_select_db($dataname,$con) or die("db connect err");
*/

$values = array();
$row = 0;
if (($handle = fopen("filename.csv", "r")) !== FALSE) {
    while (($col = fgetcsv($handle, 40000, ",")) !== FALSE) {
        $values[] = "(\"$col[1]\", \"$col[2]\", \"$col[3]\", \"$col[4]\", \"$col[10]\")"; // 첫번째 셀은 0
        $row++;
    }
    fclose($handle);
}

$query = "insert into name (a, b, c, d, c) values " . implode(",\n", $values);

$fp = fopen('query.sql', 'w');
fwrite($fp, $query);
fclose($fp);

echo "작업이 완료되었습니다!";

그 다음 생성된 sql 파일을 phpMyAdmin과 같은 프로그램에 올리면 끝납니다.

저런 방법을 쓰는 이유는 프로그램에서 관련 쿼리를 처리하게했을 때
제한이 걸리는지 일부밖에 등록이 안되는 경우가 있습니다.
그래서 쿼리 한건에 전부 다 처리하기 위함입니다.
추천
2
  • 복사

댓글 3개

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