PHPExcel使用多个工作表修改现有的.xlsx文件

Den*_*ish 26 php wordpress phpexcel


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');


Run Code Online (Sandbox Code Playgroud)

在这里,我能够加载(.xlsx)文件,我也能够修改(dentkey.xlsx).但是在生成新的.xlsx文件(dentkey1.xlsx)之后..(dentkey.xlsx)中的所有工作表数据都没有加载,我也无法为第二个工作表设置值.

你可以

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

->setCellValue('C7', '5');
Run Code Online (Sandbox Code Playgroud)

未将生成(dentkey.xlsx)文件的值5设置为"C7"列

请帮我...

非常感谢提前

Nim*_*ani 53

此代码似乎正常工作,在本地环境中测试 WampServer Version 2.1

从这里下载最新版本的PHPExcel PHPExcel 1.7.6

工作守则.

<?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');
?>
Run Code Online (Sandbox Code Playgroud)

从代码中删除此行:$excel2->setLoadAllSheets();.

希望这会有所帮助.