PHPExcel 损坏的文件下拉列表不起作用 Windows Excel 数据验证

标签 php excel phpexcel

如果我使用:

$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 上按预期工作。

最佳答案

这一切都在PHPExcel documentation中进行了解释。

如果您查看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');

展示如何使用公式创建列表

示例39dropdown.php甚至展示了如何创建链接列表,其中一个列表中的值依赖于另一个列表中的选定值

关于PHPExcel 损坏的文件下拉列表不起作用 Windows Excel 数据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622931/

相关文章:

php - 插入查询不适用于 phpexcel 脚本

PHPExcel 锁定特定单元格

php - 带有wordpress作为子文件夹的Rails heroku应用程序,无法登录到管理员

php - 如何从大(大)文件中删除最后 N 行

arrays - 使用VBA过滤掉数组中的空单元格

excel - 如何在 Excel 中对 "high"字符进行 HTML 编码或音译?

PHPSpreadsheet - 无法获得单元格填充颜色

php - codeigniter 丢失了 sql 查询中 id 字段的值

php - 已安装 ffmpeg 但我收到 "no such file or directory"错误

python - 在python中从mysql查询中制作一个excel文件