PHPexcel加载一个html格式的变量

时间:2016-07-12 08:39:09

标签: phpexcel

我正在尝试将html代码段变量加载到电子表格中。我有不同的部分,可能有不同的动态HTML内容。所以我不能手动转换。

$dynamic_code_snippet = '<ul><li>item one</li><li>item two</li></ul>';

目前我正在尝试此操作但却出错:

if(!empty($dynamic_code_snippet)){
                $excelHTMLReader = PHPExcel_IOFactory::createReader('HTML');
                $snippet = $excelHTMLReader->load($dynamic_code_snippet);
                $snippetWriter = PHPExcel_IOFactory::createWriter($snippet,'Excel2007');
                ob_start();
                $snippetWriter->save('php://output');
                $code  = ob_get_clean();
                $table->getActiveSheet()->setCellValue('A1, $code);
                }

我收到错误: 致命错误:未捕获PHPExcel_Reader_Exception:无法在第196行的PHPExcel \ Reader \ Abstract.php中打开

你认为它是因为它的片段不是整页html文档(没有<html><head><body>标签)吗? 可以吗?还是我必须重新思考?

1 个答案:

答案 0 :(得分:0)

PHPExcel确实提供了一个帮助向导,可用于将基本html标记转换为可设置为单元格值的Riche Text Objects:

$wizard = new PHPExcel_Helper_HTML;
$richText = $wizard->toRichTextObject($html);

$objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A1', $richText);

但是,仅主动支持某些标记标记,并且不包括有序/无序列表。

如果您想查看它,看看代码是如何工作的,可能会修改它以使用列表,然后它是HTML.php中的/Classes/PHPExcel/Helper文件。