使用PHPExcel类库将数据导出为excel文档

下载PHPExcel类库,http://phpexcel.codeplex.com/,解压后在Class中找到PHPExcel文件夹和PHPExcel.php文件,拷贝到自己的项目代码中,以下是导出为excel文件的方法

<?php
function export_data() {
	require_once(‘PHPExcel.php‘);
	// 文档名称
	$filename = ‘filename‘;
	// 创建 PHPExcel 对象
	$objPHPExcel = new PHPExcel();
	// 设置生成的文档属性
	$objPHPExcel->getProperties()->setCreator("http://www.jianbin.info")
		->setLastModifiedBy("http://www.jianbin.info")
		->setTitle("http://www.jianbin.info")
		->setSubject("http://www.jianbin.info")
		->setDescription("http://www.jianbin.info")
		->setKeywords("http://www.jianbin.info")
		->setCategory("http://www.jianbin.info");

	$col_number = 65;
	$col_letter = chr($col_number);
	$row_number = 1;

	/**
	$table 数据格式
	array(
		‘head‘ => array(字段1,字段2,...,字段n),
		‘body‘ => array(
			‘行1‘ => (数据1,数据2,...,数据n),
			‘行2‘ => (数据1,数据2,...,数据n),
			...
			‘行n‘ => (数据1,数据2,...,数据n),
		)
	)
	 */

	foreach ($table[‘head‘] as $key=>$val){
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue("{$col_letter}{$row_number}", $val);
		$objPHPExcel->getActiveSheet()->getColumnDimension("{$col_letter}")->setAutoSize(true);	// 自动列表设置对中文不支持
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getFont()->setBold(true);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getAlignment()-> setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getFill()->getStartColor()->setARGB(‘FF58ACFA‘);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
		$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getTop()->getColor()->setARGB(‘FFFF0000‘);
		$col_number++;
		$col_letter = chr($col_number);
	}

	$row_number++;
	// 构造body
	foreach ($table[‘body‘] as $row){
		$col_number = 65;
		$col_letter = chr($col_number);

		foreach ($row as $val) {
			$objPHPExcel->setActiveSheetIndex(0)->setCellValue("{$col_letter}{$row_number}", $val);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getFont()->setBold(true);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getAlignment()-> setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$objPHPExcel->getActiveSheet()->getStyle("{$col_letter}{$row_number}")->getBorders()->getTop()->getColor()->setARGB(‘FFFF0000‘);
			$col_number++;
			$col_letter = chr($col_number);
		}
		$row_number++;
	}
	// 重命名工作表
	$objPHPExcel->getActiveSheet()->setTitle($filename);
	// 默认打开工作表1
	$objPHPExcel->setActiveSheetIndex(0);

	// 设置header输出到客户端
	header(‘Content-Type: application/vnd.ms-excel‘);
	header(‘Content-Disposition: attachment;filename="‘.$filename.‘.xls"‘);
	header(‘Cache-Control: max-age=0‘);
	// If you‘re serving to IE 9, then the following may be needed
	header(‘Cache-Control: max-age=1‘);
	// If you‘re serving to IE over SSL, then the following may be needed
	header (‘Expires: Mon, 26 Jul 1997 05:00:00 GMT‘); // Date in the past
	header (‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s‘).‘ GMT‘); // always modified
	header (‘Cache-Control: cache, must-revalidate‘); // HTTP/1.1
	header (‘Pragma: public‘); // HTTP/1.0

	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘);
	$objWriter->save(‘php://output‘);
	exit;
}

导出后的文件打开效果如下:

时间: 2024-11-04 20:12:36

使用PHPExcel类库将数据导出为excel文档的相关文章

支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport

Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人员轻松快速的从各种主流数据库中导出数据并存储于各种文件格式中.他支持从SQL Command, DataTable,ListView中导出数据并存储于MS Excel,MS Word, HTML, XML, PDF, MS Access, DBF, SQL Script, SYLK, DIF, CS

sqlserver将数据库的数据导成excel文档方法

最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文件有两种方式. 针对SQLServer2005或者SQLServer2008.SQLServer2008 R2 方法一:对于会写查询SQL语句的则是直接写查询语句查询出结果.如下图: 接下来到桌面新建一个空的excel文件. 接下来回到SQLServer查询界面.鼠标右键点击查询结果的左上角空白列,点击"连同标题一起复制".则已复制好了数据.如

导出为Excel文档

先搞jar包吧,参考上一篇文章.上一篇文章没写SpringMVC上传下载需要的jar包,现在给列出来吧 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>com

使用PHPExcel将数据导出至Excel

安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目录,并将其重命名为phpexcel 在项目中需要的地方添加引用 import('phpexcel.PHPExcel', EXTEND_PATH); 代码实现 <?php namespace app\index\controller; use think\Controller; class Excel

PHPExcel数据导出到Excel文件

/** * 数据导出到Excel文件 * * @param object $data 要导出的数据内容 * @param object $headArr 设置Excel的头名称 * @param string $fileName 导出的文件名称 * @param string $width 设置单元格的宽度 * * @throws PHPExcel_Exception 异常控制 * @throws PHPExcel_Reader_Exception 控制Excel加载时的异常 * @throws

使用原生php将数据库数据导出到excel文件中

最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件.因为以前没做过,所以就百度了一下, 网上说的大多是使用PHPExcel类来操作excel文件,这还要去下载这个类才能使用,而我只想使用原生的php,不想那么麻烦,好在 也有网友说到关于原生php生成excel文件的方法,其实很简单,下面把我结合网上资料自己实践的代码分享一下. 一般我们这种导数据的操作都是通过用户在网页页面上点击某个按钮触发相应js方法,然后请求php接口来实现的,所以主要有两种 方法来完

数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; /// <summary> /// Excel操作类 /// </summary> /// Microsoft Excel 11.0 Obj

tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)

#tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', '5列') #需写入的数据,按照一行一行的输入 #元组数据的个数必须和列数一致 data = [('23','23','34','23','34'),('sadf','23','sdf','23','fsad')] #写入数据 mylist = tablib.Dataset(*data, head

Delphi 数据导出到Excel

好多办公软件特别是财务软件,都需要配备把数据导出到Excel,下面就来介绍两种数据导出方法 1.ADODB导出查询结果(此方法需要安装Excel) 2.二维表数据导出(根据Excel文件结构生成二进制文件流,不需要安装Excel) 3.如果涉及到复杂表头的(例如合并字段等),未做研究,下面也没介绍相关资料,请止步. 第一种,ADODB导出查询结果(此方法需要安装Excel) //uses DB, ADODB, ComObj, ComCtrls, excel2000, StdCtrls, adoi