programing

여러 워크시트를 사용하여 PHPexcel 기존 .xlsx 파일 수정

codeshow 2023. 3. 23. 22:59
반응형

여러 워크시트를 사용하여 PHPexcel 기존 .xlsx 파일 수정


require_once '../Classes/PHPExcel/IOFactory.php';


/** PHPExcel */require_once '../Classes/PHPExcel.php';

$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('dentkey.xlsx');
$excel2->setLoadAllSheets();
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')           

->setCellValue('C7', '5')         

  ->setCellValue('C8', '6')       

    ->setCellValue('C9', '7');
$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')

->setCellValue('C7', '5');


$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('dentkey1.xlsx');


여기서 파일(.xlsx)을 로드할 수 있고 (syslogkey.xlsx)도 변경할 수 있습니다.그러나 새로운 .xlsx 파일(dentkey1.xlsx)을 생성하면(http.key.xlsx)에 있는 모든 워크시트 데이터가 로드되지 않으며 두 번째 워크시트 값을 설정할 수 없습니다.

괜찮아

$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')

->setCellValue('C7', '5');

생성된 (dentkey.xlsx) 파일의 값 5를 'C7' 열로 설정하지 않았습니다.

제발 도와주세요...

잘 부탁드립니다

이 코드는 동작하고 있는 것 같습니다.로컬 환경에서 테스트되고 있습니다.WampServer Version 2.1

PHPexcel 1.7.6에서 최신 버전의 PHPexcel 다운로드

작업 코드

<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
require_once '../Classes/PHPExcel/IOFactory.php';
require_once '../Classes/PHPExcel.php';

$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')
    ->setCellValue('C7', '5')
    ->setCellValue('C8', '6')       
    ->setCellValue('C9', '7');

$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')
    ->setCellValue('C7', '5');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('Nimit New.xlsx');
?>

코드에서 다음 행을 제거합니다.$excel2->setLoadAllSheets();.

이게 도움이 되길 바라.

언급URL : https://stackoverflow.com/questions/7594444/phpexcel-modify-existing-xlsx-file-with-multiple-worksheet

반응형