https://github.com/PHPOffice/PHPExcel 홈페이지에서 소스 파일을 다운로드 한 후에
codeigniter의 application 폴더 -> libraries 에 다운받은 파일중에 Classes 폴더 안에 있는 PHPExcel 폴더와 PHPExcel.php 파일을 업로드해주고 시작한다.
엑파일 업로드 하면서 엑셀파일 읽기.
public function customer_write_excel_proc()
{
error_reporting(E_ALL ^ E_NOTICE);
$return_value = "";
$file1 = "";$address1 = "";
$address2 = "";
$manager_name = "";
$phone_num = "";
$config['upload_path'] = './uploads/customer/'; // 업로드 경로
$config['allowed_types'] = 'xls';
$config['max_size'] = '0'; //0 은 서버 설정에 따라 적용
$config['max_width'] = '0'; // 0 아닌 다른 숫자로 적용하면 업로드 에러
$config['max_height'] = '0'; // 0 아닌 다른 숫자로 적용하면 업로드 에러
$this->load->library('upload',$config);
// 이미지 1 - 차량번호판
if ( ! $this->upload->do_upload('customer_file'))
{
$error = array('error' => $this->upload->display_errors());
}else{
$data = array('upload_data' => $this->upload->data());
$file1 = $this->upload->data('file_name');
}
$this->load->library("PHPExcel");
$objPHPExcel = new PHPExcel();
// 업로드 된 파일 경로(읽어올 파일 위치)
$objPHPExcel = PHPExcel_IOFactory::load($_SERVER["DOCUMENT_ROOT"]."/uploads/customer/".$file1);
$sheetsCount = $objPHPExcel->getSheetCount();
$getSheetNames = $objPHPExcel->getSheetNames();
for($i = 0; $i < $sheetsCount; $i++)
{
$objPHPExcel->setActiveSheetIndex($i);
$sheet = $objPHPExcel->getActiveSheet();
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
for ($row = 1; $row <= $highestRow; $row++)
{
$sheetDataA = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
foreach($sheetDataA as $key => $value) {
if($highestRow) {
if($key > 1) { // 두번째 줄부터 읽기
$address1 = $value['A'];
$address2 = $value['B'];
$manager_name = $value['C'];
$phone_num = $value['D'];
}
}
}
}
}
if($return_value == 1)
{
alert_to_url('등록되었습니다.','/customer')}else{
alert_to_back('등록되지 않았습니다.');
}
}