使用 PHP Codeigniter 创建 Excel 文件

Posted

技术标签:

【中文标题】使用 PHP Codeigniter 创建 Excel 文件【英文标题】:Create Excel file using PHP Codeigniter 【发布时间】:2012-03-15 12:30:35 【问题描述】:

我想创建一个包含两行的简单 Excel 文件。 示例:

order id | Name | Address | Quantity | Price | Total
    1    | XXXX | YYYYYYY |     10   |  700  |  7000

有没有轻量级的库或者一些代码sn-p这样我就可以轻松实现了。

【问题讨论】:

xls 和 xlsx 都是相当复杂的格式,你很可能需要一个繁重的库 如果您想要实际的 XLS 或 XLSX,那么无论库的大小如何,phpexcel 都是您的最佳选择。如果你可以处理只给他们一个 CSV 或一个 html 表格,那么就这样做并强制下载或你有什么。 @prodigitalson:我想要扩展名为 .xls 的 excel 文件。我刚刚下载了 PHPExcel,发现它包含 19.9 MB 的类文件夹。我不认为生成这么小的内容需要这么大的库。 最简单的方法在这里***.com/questions/11189021/reports-in-codeigniter 【参考方案1】:

这个excel.php 文件可能对您有用,可以作为 php-excel 的替代品。我从未亲自使用过它,但描述听起来对你有用。

http://www.phpclasses.org/package/1919-PHP-Stream-wrapper-to-read-and-write-MS-Excel-files.html

【讨论】:

【参考方案2】:

请参阅本教程:

http://devzone.zend.com/27/reading-and-writing-spreadsheets-with-php/

这是一个用于导出 XLS 的小型(2.7 KB 压缩)库:

http://code.google.com/p/phpexportxlsclass/downloads/detail?name=export-xls.class-v1.01.zip

这里有一个类似的导出 XLSX(4.4 KB 压缩):

http://code.google.com/p/php-excel/downloads/detail?name=php-excel-v1.1-20090910.zip&can=2&q=

两者都有小的工作示例。

【讨论】:

我不想安装 PEAR 库。 对不起,当您说“轻量级”时,没有想到您的意思是没有 PEAR。你看到了吗:code.google.com/p/php-excel?我不知道你在 Excel 案例中能走多轻... 我刚刚下载了 PHPExcel,发现它包含 19.9 MB 的类文件夹。我不认为生成这么小的内容需要这么大的库。 压缩文件为 4.4 KB:code.google.com/p/php-excel/downloads/…。你下载的是这个吗?不过,它会生成 xslx。 你能试试这个吗:code.google.com/p/phpexportxlsclass/downloads/…【参考方案3】:

已在以下链接中回答:

How to use the CSV MIME-type?

虽然它输出的是 CSV MIME 类型,但 Excel 通常是 CSV 的默认应用程序。

哎呀。忘记了 CodeIgniter 部分:)

基于上面的链接,你可以创建一个类似下面的控制器,假设是CI 2.x

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Csv extends CI_Controller 

    public function index() 
        header('Content-type: text/csv');
        header('Content-disposition: attachment;filename=fromci.csv');
        echo "order,id,Name,Address,Quantity,Price,Total".PHP_EOL;
        echo "1,1,XXXX,YYYYYYY,10,700,7000".PHP_EOL;
    

【讨论】:

我想要扩展名为 .xls 的 excel 文件。 您将需要一个库,因为 .xls 是一种二进制格式。 CSV 是一种打开 Excel 的简单方法,用户可以根据需要另存为 .xls。 抱歉,这是我的需要。不要问为什么。 要求就是要求:) 是的。除此之外,我们无话可说:)

以上是关于使用 PHP Codeigniter 创建 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 CODEIGNITER 的动态 php 网站

在codeigniter中,我创建了静态页面但仍然只获得了Index.php欢迎消息

Codeigniter PHP 从一个创建两个不同的数组

Tomcat删除index.php Codeigniter

使用 php codeigniter 的学习管理系统?

从 url (codeigniter) 中删除 index.php 时 .htaccess 防止显示文件