如何使用 PHPExcel 在单元格中插入形状或复选框之类的东西?
我想创建这样的东西:
问题也是我必须动态检查或填写复选框。
有什么建议吗?
PHPExcel 不支持复选框等表单元素,因此无法执行此操作
实际上有一种方法可以做到这一点,使用包含复选框字符的字体。
$objRichText = new PHPExcel_RichText();
// checked checkbox
$checkbox = $objRichText->createTextRun('R');
$checkbox->getFont()->setName('Wingdings 2');
// empty checkbox
$checkbox = $objRichText->createTextRun('0');
$checkbox->getFont()->setName('Wingdings 2');
$objPHPExcel->getActiveSheet()->setCellValue($cellPosition, $checkbox);
我找到了一种使用 unicode 字符(不可点击)呈现静态复选框的方法。这些字符适用于大多数操作系统,与 windows 字体的wingdings 不同。
$objRichText = new PHPExcel_RichText();
$checkbox = $objRichText->createTextRun('☑'); //checked
$checkbox->getFont()->setSize(18);
$checkbox = $objRichText->createTextRun('☐');// empty
$checkbox->getFont()->setSize(18);
// add some extra spacing to the cell to make it fit better
$necessarySpacing = str_repeat(' ', floor(count($value) * 2));
$objRichText->createTextRun($necessarySpacing);
$doc->getActiveSheet()->setCellValue('A1', $objRichText);