Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php在excel中创建下拉列表_Php_Excel_Phpexcel - Fatal编程技术网

如何使用php在excel中创建下拉列表

如何使用php在excel中创建下拉列表,php,excel,phpexcel,Php,Excel,Phpexcel,我需要使用php在excel中创建一个下拉列表。实际上,我需要将用户的输入限制为给定的值。看看这张图片。 我已成功生成excel文件,但无法创建下拉列表。谷歌搜索没有帮助:)请看一下图片。提前感谢如果您正在使用PHPEXCEL API生成excel工作表,那么您可以使用: $objPHPExcel->getActiveSheet()->setAutoFilter('A1:I20'); 或者这个: $objPHPExcel->getActiveSheet()->setAu

我需要使用php在excel中创建一个下拉列表。实际上,我需要将用户的输入限制为给定的值。看看这张图片。
我已成功生成excel文件,但无法创建下拉列表。谷歌搜索没有帮助:)请看一下图片。提前感谢

如果您正在使用PHPEXCEL API生成excel工作表,那么您可以使用:

$objPHPExcel->getActiveSheet()->setAutoFilter('A1:I20');
或者这个:

$objPHPExcel->getActiveSheet()->setAutoFilter(
    $objPHPExcel->getActiveSheet()->calculateWorksheetDimension()
);
我找到了一个解决方案:

$objValidation = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST );
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION );
$objValidation->setAllowBlank(false);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle('Input error');
$objValidation->setError('Value is not in list.');
$objValidation->setPromptTitle('Pick from list');
$objValidation->setPrompt('Please pick a value from the drop-down list.');
$objValidation->setFormula1('"Rate,Margin"');

取决于如何使用PHP创建excel工作表您使用的是什么库?我建议phpexcel:。它附带了许多示例和文档$fp=fopen('php://output","w",;标题('Content-Type:application/vnd.ms-excel;charset=utf-8');标题('Content-Disposition:attachment;filename=orders.xls');fputcsv($fp,数组('Currency Name'、'Rate/Margin'、'sally Price/Margin'、'salllimit'、'Purchase Price/Margin'、'Purchase Limit');如果(is_array($final_added)&&count($final_added)>0){foreach($final_added为$key=>$value){fputcsv($fp,$value);}}在这里,我生成的excel文件不是csv excelyes,而是genrating.xls文件,它也在工作。