如果我使用:
$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('"male,female"');
创建一个excel文件,我在Windows Excel上得到以下错误
1. We found a problem with some content in 'filename.xlsx'. Do you want to recover....
2. Removed Feature: Data validation from /xl/worksheets/shee1.xml part
如果我评论该代码,它会正常打开。
在Ubuntu Libre Office上按预期工作。
答案 0 :(得分:2)
如果您查看 public class MyClass : INotifyPropertyChanged
{
private bool selectedA;
public bool SelectedA
{
get { return !selectedA; }
set { selectedA = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("SelectedA")); }
}
private bool selectedB;
public bool SelectedB
{
get { return !selectedB; }
set { selectedB = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("SelectedB")); }
}
public event PropertyChangedEventHandler PropertyChanged;
}
等示例,它将演示如何创建列表类型数据验证
15datavalidation.php
显示了如何创建固定值列表
$objValidation = $objPHPExcel->getActiveSheet()
->getCell('B5')
->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST );
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION );
...
$objValidation->setFormula1('"Item A,Item B,Item C"');
显示如何使用公式
创建列表示例$objValidation = $objPHPExcel->getActiveSheet()
->getCell('B7')
->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST );
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION );
...
$objValidation->setFormula1('$D$2:$D$6');
甚至显示了如何创建链接列表,其中一个列表中的值取决于另一个列表的选定值