【问题标题】:I wanted to add data in pre formated Excel sheet using php我想使用 php 在预先格式化的 Excel 表中添加数据
【发布时间】:2014-08-14 22:31:03
【问题描述】:

我想在预先格式化的 Excel 工作表中附加数据,该工作表基本上是 Excel 工作表中的页眉页脚,我想附加内容。并且会动态创建很多文件。

【问题讨论】:

  • 那么您是否寻找过无数的 PHP 库(例如 PHPExcel)来帮助您做到这一点?

标签: php excel append add


【解决方案1】:

一个简单的解决方法是:

  • 使用您需要的格式创建一个 html 表格
  • 将php中的值添加到表中(或用php生成表)
  • 将文件另存为 .xls(填充 html 表格中的内容)
  • 打开文件(将在 Excel 中显示格式化表格)

原因:

  • 处理 XLS 文件非常复杂,许多库都有很大的限制(仅适用于 Windows 服务器......)
  • 保存为 .xls 的 html 表格可以在 Excel 中打开。

【讨论】:

  • html table saved as .xls is basically a valid minimum structure of a XLS file B****cks.... MS Excel 有一个它可以使用的 HTML 导入器,这意味着它可以读取这个,尽管某些版本的 MS Excel 会抱怨你'对它撒谎;这与 html 作为 xls 文件的最小结构不同
  • 它运行良好,也适用于 Doc 文件,客户使用多年没有任何抱怨。
  • 随着您的客户转向更新版本的 MS Excel,您将开始收到投诉;因为您正在创建一个格式与 xls 扩展名预期的格式不匹配的文件.....但是描述 html table saved as .xls is basically a valid minimum structure of a XLS file 是完全错误的,完全不诚实
  • 感谢您的更新,我将文本更改为更准确。本质上它仍然可以正常工作。
【解决方案2】:

谢谢,我发现 PHPExcel 是一个很好的库。 为了让 PHPExcel http://www.codeplex.com/PHPExcel 与 CodeIgniter 一起工作,您必须采取一些步骤来确保与 CodeIgniter 的命名标准兼容。

1:类名必须与文件名匹配。 PHPExcel 有一些文件(例如 PHPExcel/IOFactory.php),其名称类似于 PHPExcel_IOFactory。通过删除“PHPExcel_”部分来更改这些名称。这些文件中的这些构造函数必须是公共的,CI 才能访问它们。

【讨论】:

    【解决方案3】:
    $this->load->library('phpexcel');
    $this->load->library('PHPExcel/iofactory');
    
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setTitle("title")
                     ->setDescription("description");
    
    // Assign cell values
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->setCellValue('A1', 'cell value here');
    
    // Save it as an excel 2003 file
    $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save("nameoffile.xls");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多