본문 바로가기
PHP

PHP 엑셀 서버 업로드 - 데이터 일일히 저장

by 준토리73 2021. 2. 10.

파일 업로드에 이어,

데이터를 엑셀로 만들어서 서버에 업로드 하는 방법에 대해서 정리해볼게요.

 

1. PHPExcel 라이브러리 다운로드 

http://www.codeplex.com/PHPExcel

 

CodePlex Archive

An archive of the CodePlex open source hosting site

archive.codeplex.com

 

 

요기에 들어가서 

★다운로드 받은 파일을 압축 풀어서 서버에 저장 

압축폴더 안에 sourceCode.zip이 또 있는데 그걸 압축 풀어서 trunk 안에 있는 Class 파일을 서버에 넣어주어야한다! 

(중요중요) 

안그러면 경로가 너무 복잡하고, 용량이 커서, 필요한 파일만 쓰자!! 

 

2. excel.php에 엑셀 만들기 코드 

excel.php 를 하나 만들어서 

require_once ($_SERVER ['DOCUMENT_ROOT']."/PHPExcel/Classes/PHPExcel.php");

서버경로로 require 시켜주고,

$objPHPExcel = new PHPExcel();

    $objReader = PHPExcel_IOFactory::createReaderForFile($file);
    $objPHPExcel = $objReader->load($file);

    $objPHPExcel->getActiveSheet()->setTitle("sheet1");// 시트이름 
    $objPHPExcel->setActiveSheetIndex(0); // 첫번째 시트로 지정
    
    //엑셀에 데이터 저장 
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue("A2","하나")
    					->setCellValue("B2","둘")
                                        ->setCellValue("C2","셋")
                                        ->setCellValue("D2","넷")
                                        ->setCellValue("E2","다섯");
    
    header("Content-Type:text/html;charset=utf-8"); // 한글깨짐 방지 
    header('Content-Type: application/vnd.ms-excel');
    header("Content-Disposition: attachment; filename="."label_data.xls"); //다운로드할 파일명(test.xls)
    header('Cache-Control: max-age=0');
    
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    //$objWriter->save('php://output');
    $objWriter->save($_SERVER['DOCUMENT_ROOT'] . "/lblExcel/test.xls"); // 새로 저장할 엑셀의 서버 경로 

    exit;

요로케 코딩해준다.

 

셀 하나당 데이터 저장해주는 거는 

더보기

$objPHPExcel->setActiveSheetIndex(0)->setCellValue("A2","하나")

A2는 셀 위치를 뜻하고, 여기서 setValue 해주면 되는거고, 나머지 코드들은 그대로 갖다쓰면 됨! 

 


3. 업로드 확인 

그러고 해당 excel.php 파일로 로컬로 들어가서 새로고침 누르면,

엑셀 파일이 다운로드 되고, 

서버 경로에 엑셀 파일이 저장되어있는 것을 확인할 수 있음! 

 

해당 셀에 값이 들어가있음 
해당 서버경로에 파일이 들어가있음 

 

댓글