Spreadsheet_Excel_Writer

网上有很多朋友问到 PHP生成Excel文件 的问题, 现整理如下:

CODE
  1. require 'Spreadsheet/Excel/Writer.php';
  2.  
  3. $workbook = new Spreadsheet_Excel_Writer(); // 初始化类
  4.  
  5. $workbook->send('multi-worksheet-demo.xls'); // 发送 Excel 文件名供下载
  6.  
  7. $worksheet =& $workbook->addWorksheet('sheet-1'); // 加入一个工作表 sheet-1
  8.  
  9. $data = array(
  10.     array('name', 'sex', 'age'),
  11.     array('alex', 'M', '18'),
  12.     array('joe', 'F', '16')
  13. );
  14.  
  15. for ($row = 0; $row < count($data); $row ++) {
  16.     for ($col = 0; $col < count($data[0]); $col ++) {
  17.  $worksheet->writeString($row, $col, $data[$row][$col]); // 在 sheet-1 中写入数据
  18.     }
  19. }
  20.  
  21.  
  22. $worksheet =& $workbook->addWorksheet('sheet-2'); // 加入一个工作表 sheet-2
  23.  
  24. $data = array(
  25.     array('name', 'sex', 'age'),
  26.     array('Smith', 'M', '28'),
  27.     array('foo', 'F', '16')
  28. );
  29.  
  30. for ($row = 0; $row < count($data); $row ++) {
  31.     for ($col = 0; $col < count($data[0]); $col ++) {
  32.  $worksheet->writeString($row, $col, $data[$row][$col]); // 在 sheet-2 中写入数据
  33.     }
  34. }
  35.  
  36. $workbook->close(); // 完成下载
  37. ?>


如果没有用过PEAR,过程如下:

PEAR很容易啊

例如:
1.在根目录下建立文件夹,名为"WEB-INF"(或"PEAR"什么的都可以);
2.在 http://pear.php.net/package/PEAR/download 下载 PEAR-1.4.9.tgz(呵呵,还是最新版呢);
3.把 PEAR-1.4.9.tgz 解压后的 pear.php 复制到 "WEB-INF" 路径下;
4.在 http://pear.php.net/package/Spreadsheet_Ex...Writer/download 下载Spreadsheet_Excel_Writer-0.9.0.tgz;
5.在 http://pear.php.net/package/OLE/download 下载 OLE-0.5.tgz;
6.把 Spreadsheet_Excel_Writer-0.9.0.tgz 中的 "Writer.php" 和 "Writer" 文件夹解压到 "WEB-INF/Spreadsheet/Excel/" 路径下;
7.把 OLE-0.5.tgz 中的 "OLE.php" 和 "PPS.php" 和 "PPS" 文件夹解压到 "WEB-INF/OLE" 路径下;
8.在根目录下建立 "global.php":

CODE
  1. $path = $_SERVER['DOCUMENT_ROOT'].'/WEB-INF'; // 你自定义的 PEAR 路径
  2. set_include_path(get_include_path() . PATH_SEPARATOR . $path); // 设置 PHP 环境变量路径为除 php.ini 默认的以外, 再加上你自定义的 PEAR 路径
  3. ?>


这样, 我刚刚给出的程序在开头加上
CODE
  1. require_once 'global.php';
就可以使用了.

======================================================

总结如下:

1.PEAR也没什么神秘的,它和你自定义的包含文件或自定义的类没什么区别,只要路径正确,就可以访问;
2.PEAR的所有类(如"Spreadsheet_Excel_Writer")命名有点像JAVA,每个下划线代表一个子目录,非常规范的;
例如"OLE-0.5.tgz"说明它应在PEAR目录下的OLE目录;
例如"Spreadsheet_Excel_Writer"说明它应在PEAR目录下的Spreadsheet/Excel/Writer目录(它的压缩包里已经有一个Writer目录,与Writer.php在同一层);
3.有些强大的PHP环境配置包,如 http://www.apachefriends.org/en/xampp.html 的 XAMPP,已经集成了大部分的PEAR包(呵呵,当前版本似乎还没包含Spreadsheet_Excel_Writer),这样,就不用你部署PEAR,直接就可以使用;
 

你可能感兴趣的:(Spreadsheet_Excel_Writer)