워드프레스 안에서 excel 파싱이 가능한지 질문입니다

항상 궁금한게 생기면 여기에 오게 되네요. 감사합니다

지금 제 소스는 input file에 파일을 올리면 upload한 뒤에 그 경로를 읽어서 파싱한 뒤에 database에 저장하는 방식입니다

파일을 파싱하는 건 csv 밖에 안되는 상태입니다. 그런데 이번에 엑셀을 파싱하게끔 만들라고 하여 csv 파일이 아닌 xls 파일이 될거 같은데

문제는 php 자체 excel을 파싱하는 방법 따로 없는걸로 알고 있고 대부분 PHPexcel 라이브러리를 가져와서 사용하더군요.

여기서 질문입니다.

function set_excel() {
	$current_user = wp_get_current_user();
	$user_login = $current_user->user_login;
	global $wpdb;

	if(!function_exists('wp_handle_upload')){
		require_once(ABSPATH . 'wp-admin/includes/file.php');
	}

	$uploadedfile = $_FILES['set_question_upfile'];
	$movefile = wp_handle_upload($uploadedfile, array('test_form' => false));
	
	if($movefile && ! isset($movefile['error'])){

	}
	else{
		echo $movefile['error'];
	}
	$uploadedfileURL = $movefile['file'];

	$row = 1;
	setlocale(LC_CTYPE, 'ko_KR.eucKR');

	$a1 = array();
	$a2 = array();
	$a3 = array();
	$a4 = array();
	$a5 = array();

	if (($handle = fopen($uploadedfileURL, "r")) !== FALSE) {
	    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
	    	
	        $num = count($data);
	        $row++;
	        for ($c=0; $c < $num; $c++) {
	        	$data[$c] = iconv("euc-kr","utf-8",$data[$c]); 
	        	if($c%5 == 0) { array_push($a1, $num); }
	        	elseif($c%5 == 1) { array_push($a2, $data[$c]); }
	        	elseif($c%5 == 2) { array_push($a3, $data[$c]); }
	        	elseif($c%5 == 3) { array_push($a4, $data[$c]); }
	        	elseif($c%5 == 4) { array_push($a5, $data[$c]); }
	        }
	    }
	    $length = count($solution);
		for($i=1;$i < $length; $i++) {
			$check = $wpdb->get_var( SQL );
			if($check) {
				$wpdb->update( SQL ));
			} else {
				$wpdb->query( $wpdb->prepare( SQL ) );
			}
		}
	    fclose($handle);
	}
}
add_action('wp_ajax_set_excel', 'set_excel'); //logged in.

현 소스는 위와 설명한 방식의 csv 파일을 파싱하고 DB에 넣는 소스인데 (일부러 SQL문은 생략했습니다)

여기서 PHPexcel 라이브러리를 어떤 식으로 사용해야하며 어떻게 추가해야하는지 잘 모르겠습니다.

예를 들어

require_one(라이브러리 경로 "ex:http://wp-content/themes/12-child/PHPexcel.php");

이런 식으로만 선언하면 곧바로 라이브러리에 있는 것들을 곧바로 사용할 수 있는건가요?

그리고 만약에 hook에 파싱해야 하는 부분이 3~4개씩 있을 때 모든 Hook 마다 위와 같은 방법으로 선언해야되는 건가요?

function.php에 이런 식으로 라이브러리를 불러오면 느려질거 같은데 우선 저런 식으로 진행해보려고 합니다.

php가 처음인데 + wordpress를 같이 하게 되서 항상 어려움이 있네요.

항상 도움되는 답변 감사합니다

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요