【问题标题】:PHPExcel unknown charactersPHPExcel未知字符
【发布时间】:2014-11-06 16:37:43
【问题描述】:

我学习了一些教程,看到一些人遇到了同样的问题,但我不知道如何在我的项目中使用它。

顺便说一句,我正在使用 CodeIgniter 框架,并且我的计算机中有 Excel 2007。

public function exportExcel(){

    require(APPPATH . 'libraries/toExcel/PHPExcel.php');
    $objPHPExcel = new PHPExcel();

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

    // Rename worksheet
    $objPHPExcel->getActiveSheet()->setTitle('Simple');     

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment; filename=01simple.xls');
    header('Cache-Control: max-age=0');

    $objWriter->save('php://output');

    exit;
}

这是我的测试代码。每当我下载该函数生成的文件并尝试打开它时,我得到的就是:

当我点击“是”时,我会收到:

【问题讨论】:

  • 确保除了保存到 php://output 之外没有向浏览器发送任何内容......确保没有发送空白字符、没有换行符或任何标记......确保 CI 可能发送的任何内容都被抑制/关闭....在文本编辑器中打开文件,并查找任何前导/训练空白字符、任何明显的纯文本消息或任何 html 标记
  • 我有一个空格作为第一个字符,我该如何摆脱这个?我尝试了 Linesofcode 的解决方案,但没有成功,我还检查了任何其他输出但没有成功
  • @DIEGOF.G。你试过trim吗?
  • @Linesofcode 我要修剪什么?
  • @DIEGOF.G。 nvm,以为您在谈论一些变量或其他东西,但是如果您将空格作为第一个字符,则需要逐步进行,直到找到为止。

标签: php codeigniter phpexcel


【解决方案1】:

已解决。

ob_end_clean();
ob_start();
$objWriter->save('php://output');

【讨论】:

    【解决方案2】:

    所有 php_excel 都更改了 Unknown Creator 工作表。 目录应用程序/third_party/phpexcel/PHPExcel/DocumentProperties.php 更改第 43 行;

    private $creator = 'Unknown Creator'; changed ↓
    private $creator = 'your name';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 2014-04-30
      • 1970-01-01
      • 2014-10-11
      • 2016-11-13
      • 2016-11-28
      相关资源
      最近更新 更多