PHPEXCEL设置单元格下拉框
public function exportDataSelectOptions ($data, $header, $filename = "data", $spectials)
{
$this->phpExcel->setActiveSheetIndex(0);
$hk = 0;
foreach ($header as $k => $v)
{
$colum = \PHPExcel_Cell::stringFromColumnIndex($hk);
$this->phpExcel->setActiveSheetIndex(0)->setCellValue($colum."1", $v);
$hk += 1;
}
$column = 2;
$objActSheet = $this->phpExcel->getActiveSheet();
foreach($spectials as $spectial)
{
$optionsString = implode(',', $spectial['select_options']);
$n = 0;
while($n < 1000) {
$objValidation = $objActSheet->getCell($spectial['column'].(string)$n)->getDataValidation();
$objValidation -> setType(\PHPExcel_Cell_DataValidation::TYPE_LIST)
-> setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_STOP)
-> setAllowBlank(true)
-> setShowInputMessage(true)
-> setShowErrorMessage(true)
-> setShowDropDown(true)
-> setErrorTitle('输入的值有误')
-> setError('您输入的值不在下拉框列表内.')
-> setPromptTitle('')
-> setPrompt('')
-> setOperator(\PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN)
-> setFormula1('"'.$optionsString.'"');
$n++;
}
}
foreach($data as $key => $rows)
{
$span = 0;
foreach($rows as $keyName => $value)
{
$j = \PHPExcel_Cell::stringFromColumnIndex($span);
$objActSheet->setCellValue($j.$column, $value);
$span++;
}
$column++;
}
ob_end_clean();
ob_start();
$objWriter = new \PHPExcel_Writer_Excel5($this->phpExcel);
ob_end_flush();
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$filename.'.xls"');
header("Content-Transfer-Encoding: binary");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter->save('php://output');
unset($data);
}
新手,给个赞鼓励下呗^ ^