php와 엑셀 연동관련 질문입니다..
- 2
-
0
php파일에서 원래 있는 엑셀 파일에 데이터를 저장하려면 어떻게 해야하나요? 새로운 엑셀파일을 만드는 것이 아닌 원래 있던 엑셀파일을 열어서 엑셀의 새로운 줄에 데이터를 저장하고 싶은데 어떻게 해야하는지 궁금합니다.
0
댓글
작성한 댓글 등록하기
PHP에서 엑셀과 관련한 여러가지 라이브러리가 있지만
그 중 제일 많이 사용중이고 안정적인 PHPExcel 라이브러리를 사용하면 쉽게 구현하실 수 있습니다.
PHPExcel의 최신 버전은 아래 git 저장소에서 다운로드 받을 수 있습니다.
https://github.com/PHPOffice/PHPExcel
아래는 엑셀을 읽어 특정 셀의 데이터를 가져오거나, 특정 셀에 데이터를 입력하여 새로운 파일로 저장하는 간단한 코드입니다.
아래 코드 참조해 주세요~
- <?
- require_once "PHPExcel-1.8/Classes/PHPExcel.php";
- $objPHPExcel = PHPExcel_IOFactory::createReader('Excel2007');
- #dolgo.xlsx 엑셀 로드
- $objPHPExcel = $objPHPExcel->load('dolgo.xlsx');
- #dolgo.xlsx의 E2셀에 위치한 데이터 가져오기
- $objPHPExcel->getActiveSheet()->getCell('E2')->getValue();
- $objPHPExcel->setActiveSheetIndex(0);
- #E4셀에 four 값 입력하기
- $objPHPExcel->getActiveSheet()->setCellValue('E4', 'four');
- #새로운 dolgo2.xlsx 파일에 저장하기
- $objExcelWrite = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
- $objExcelWrite->save('dolgo2.xlsx');
- ?>
php 모듈 중 zip 모듈이 활성화가 안된 경우 발생하는 에러입니다. phpinfo()로 확인하시면 zip 모듈에 대한 활성화 여부를 확인해 보시고 비활성화인 경우 php를 다시 재컴파일 하거나 zip 모듈만 따로 설치하는 경우로 해결 할 수 있습니다.
조민우
2016.08.20 15:31:39
이 방식대로 했을 때 Class 'ZipArchive' not found 오류가 떠서 구글을 뒤져봤는데도 어떻게 하는지 잘 모르겠네요.. 혹시 어떻게 해결하는지 설명해 주실수 있으신가요?
표연학
2016.08.20 15:04:00
감사합니다!
표연학
2016.08.20 08:31:11
3
댓글
자동으로 다음 셀에 저장되게 하는 방법은 없을까요..?
잘 해결하셨다니 다행이네요!
답변 내용 중 우측 상단 채택 버튼으로 채택 하실 수도 있어요! 답변으로 인해 문제를 해결하셨다면 잊지말고 꼭 채택해 주세요^^
감사합니다. 또 뵐게요~
조민우
2016.08.29 22:52:15
잘 해결 되었습니다. 정말 감사합니다. 다음에 다른 질문이 있을 때 또 질문하러 오겠습니다.
표연학
2016.08.29 22:33:26
표연학님 ZipArchive 에러 잘 해결되신건가요??
혼자서 고민중이시라면 질문 올려주세요!
조민우
2016.08.29 21:44:07
PHPExcel의 getHighestRow() 메소드로 엑셀의 마지막 row에 대한 index를 가져 올 수 있습니다.
$lastRow = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();
$objPHPExcel->getActiveSheet()->setCellValue('E'.($lastRow+1), 'four');
조민우
2016.08.20 15:25:04
4
댓글
답변 작성
질문에 적합한 답변을 상세히 작성해 주시기 바랍니다.
답변이 찬성되면 태그평판 +2점이 적립, 반대되면 태그평판 -1점 차감됩니다.
답변이 채택되면 태그평판 +10점이 적립됩니다.