PHPExcel在编辑现有Excel工作表后删除Excel工作表的数据验证选项

时间:2014-03-01 20:22:49

标签: php phpexcel

我正在使用PHPExcel来编辑现有的Excel工作表。

我已在Excel工作表中设置了数据验证方法,如下所示。 enter image description here

当我使用PHPExcel编辑此Excel时,此Excel特定数据验证将消失。

任何人都可以帮我解决这个问题。我需要编辑excel而不更改其功能。

我的PHP代码:

 //load existing template..
$objPHPExcel = PHPExcel_IOFactory::load('www/PHPExcelReader/Excel_Uploads/sample.xls');

// Set document properties
$objPHPExcel->getProperties()->setCreator("Logic Item")
                             ->setLastModifiedBy("Logic")
                             ->setTitle("List");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('AZ1', $combination);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$file_name='sample.xls';
$objWriter->save($file_name);
echo "Excel is ready to download now...";

1 个答案:

答案 0 :(得分:0)

我刚刚在单元格A1上使用数据验证创建的电子表格文件应用$ G1:$ G4中的列表中的值以及以下代码:

$inputFileType = 'Excel5';
$inputFileName = './15datavalidationUnpopulated.xls';
$outputFileType = 'Excel5';
$outputFileName = './15datavalidationPopulated.xls';

$objPHPExcelReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objPHPExcelReader->load($inputFileName);

$objPHPExcel->getActiveSheet()->setCellValue('G1', "India")
                              ->setCellValue('G2', "America")
                              ->setCellValue('G3', "China")
                              ->setCellValue('G4', "Russia");

$objPHPExcelWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$outputFileType);
$objPHPExcel = $objPHPExcelWriter->save($outputFileName);

适用于.xls和.xlsx文件,在单元格A1的数据验证下拉列表中显示印度,美国,中国和俄罗斯