我之前已成功使用PHPExcel和CodeIgniter.
我所做的就是将phpexcel文件夹放入application / third-party并创建以下包装器库:
class Excel {
private $excel;
public function __construct() {
// initialise the reference to the codeigniter instance
require_once APPPATH.'third_party/phpexcel/PHPExcel.php';
$this->excel = new PHPExcel();
}
public function load($path) {
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$this->excel = $objReader->load($path);
}
public function save($path) {
// Write out as the new file
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
$objWriter->save($path);
}
public function stream($filename) {
header('Content-type: application/ms-excel');
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Cache-control: private");
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
$objWriter->save('php://output');
}
public function __call($name, $arguments) {
// make sure our child object has this method
if(method_exists($this->excel, $name)) {
// forward the call to our child object
return call_user_func_array(array($this->excel, $name), $arguments);
}
return null;
}
}
?>
然后我可以在我的控制器中执行以下操作:
$this->load->library("excel");
$this->excel->load("/path/to/input.xls");
$this->excel->setActiveSheetIndex(0);
$this->excel->getActiveSheet()->SetCellValue('B2', "whatever");
$this->excel->save("/path/to/output.xls");
希望这可以帮助你?