PHPExcel导出2003和2007的excel文档功能示例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHPExcel导出2003和2007的excel文档功能。分享给大家供大家参考,具体如下:

require_once 'common/excel/PHPExcel.php';
require_once 'common/excel/phpExcel/Writer/Excel2007.php';
require_once 'common/excel/phpExcel/Writer/Excel5.php';
include_once 'common/excel/phpExcel/IOFactory.php';
$objExcel = new PHPExcel();
//设置属性 (这段代码无关紧要,其中的内容可以替换为你需要的)
$objExcel->getProperties()->setCreator("andy");
$objExcel->getProperties()->setLastModifiedBy("andy");
$objExcel->getProperties()->setTitle("Office 2003 XLS Test Document");
$objExcel->getProperties()->setSubject("Office 2003 XLS Test Document");
$objExcel->getProperties()->setDescription("Test document for Office 2003 XLS, generated using PHP classes.");
$objExcel->getProperties()->setKeywords("office 2003 openxml php");
$objExcel->getProperties()->setCategory("Test result file");
$objExcel->setActiveSheetIndex(0);
$i=0;
//表头
$k1="编号";
$k2="推广代码";
$k3="访问来源";
$k4="IP";
$k5="访问时间";
$objExcel->getActiveSheet()->setCellValue('a1', "$k1");
$objExcel->getActiveSheet()->setCellValue('b1', "$k2");
$objExcel->getActiveSheet()->setCellValue('c1', "$k3");
$objExcel->getActiveSheet()->setCellValue('d1', "$k4");
$objExcel->getActiveSheet()->setCellValue('e1', "$k5");
//debug($links_list);
foreach($links_list as $k=>$v) {
  $u1=$i+2;
  /*----------写入内容-------------*/
  $objExcel->getActiveSheet()->setCellValue('a'.$u1, $v["id"]);
  $objExcel->getActiveSheet()->setCellValue('b'.$u1, $v["num"]);
  $objExcel->getActiveSheet()->setCellValue('c'.$u1, $v["referer"]);
  $objExcel->getActiveSheet()->setCellValue('d'.$u1, $v["ip"]);
  $objExcel->getActiveSheet()->setCellValue('e'.$u1, $v["dateline"]);
  $i++;
}
// 高置列的宽度
$objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(70);
$objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
$objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D');
$objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N');
// 设置页方向和规模
$objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
$objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
$objExcel->setActiveSheetIndex(0);
$timestamp = time();
if($ex == '2007') { //导出excel2007文档
  header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  header('Content-Disposition: attachment;filename="links_out'.$timestamp.'.xlsx"');
  header('Cache-Control: max-age=0');
  $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');
  $objWriter->save('php://output');
  exit;
} else { //导出excel2003文档
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment;filename="links_out'.$timestamp.'.xls"');
  header('Cache-Control: max-age=0');
  $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
  $objWriter->save('php://output');
  exit;
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

asp和php下textarea提交大量数据发生丢失的解决方法

我用textarea提交大量的阿数据 我开始字段类型选的是mediumtext,数据有丢失 后来我改成了longtext,数据依然丢失, 而且发现和mediumtext提交到数据库中的数...

PHP基于swoole多进程操作示例

PHP基于swoole多进程操作示例

本文实例讲述了PHP基于swoole多进程操作。分享给大家供大家参考,具体如下: 多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户...

PHP中怎样防止SQL注入分析

本文实例分析了PHP中怎样防止SQL注入。分享给大家供大家参考。具体分析如下: 一、问题描述:   如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到S...

PHP连接数据库实现注册页面的增删改查操作

PHP连接数据库实现注册页面的增删改查操作

本文实例为大家分享了PHP连接数据库实现注册页面的增删改查操作的方法,供大家参考,具体内容如下 1.连接数据库 <?php //本地测试 $host = '127....

Android AsyncTack 异步任务实例详解

Android AsyncTack 异步任务实例详解

Android AsyncTack 异步任务            &nbs...