说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

WEB开发中将数据库记录转换到EXCEL表格文件xls供下载

HTML文档下载 WORD文档下载 PDF文档下载
本文介绍了在WEB开发中如何为数据库记录提供XLS文件下载功能。

 

在这里我们并不需要提供XLS二进制格式的文件,因为这一过程不管是Automation还是第三方服务器COM组件都将大费周折,
因为XLS文件格式还支持HTML格式,例如将下面的文字保存为XLS文件(UTF-8格式):

在这里我们并不需要提供XLS二进制格式的文件,因为这一过程不管是Automation还是第三方服务器COM组件都将大费周折,

因为XLS文件格式还支持HTML格式,例如将下面的文字保存为XLS文件(UTF-8格式):

 

<html><meta http-equiv=content-type content="text/html; charset=UTF-8"><body><table border='1'><tr><td>ID</td><td>网站</td><td>用户名</td><td>用户邮箱</td></tr><tr><td>1</td><td>http://www.okbase.net</td><td>张三</td><td>zhangsan@163.com</td></tr><tr><td>2</td><td>http://www.vckbase.com</td><td>李四</td><td>lisi@163.com</td></tr></table></body></html>
这样就生成了XLS文件。
在WEB后台程序中提供EXCEL文件下载正是基于此原理,下面是该函数的代码:
function down_xls($data, $keynames, $name) {	$xls[] = "<html><meta http-equiv=content-type content=\"text/html; charset=UTF-8\"><body><table border='1'>";	$xls[] = "<tr><td>ID</td><td>" . implode("</td><td>", array_values($keynames)) . '</td></tr>';	foreach($data As $o) {		$line = array(++$index);		foreach($keynames AS $k=>$v) {			$line[] = $o[$k];		}		$xls[] = '<tr><td>'. implode("</td><td>", $line) . '</td></tr>';	}	$xls[] = '</table></body></html>';	$xls = join("\r\n", $xls);	header('Content-Disposition: attachment; filename="'.$name.'.xls"');	die(mb_convert_encoding($xls,'UTF-8','UTF-8'));}
down_xls函数有三个参数,分别是:$data 数据集(数组,可以是从数据库读取的记录),$keynames 字段定义,$name 文件名。
我们看一个PHP的实际例子:
// 从数据库中查询出记录放到 $coupons ,过程省略....// 定义数组$kn = array(	'buy_id' => '支付序号',	'username' => '用户名',	'email' => '用户邮箱',	'realname' => '姓名',	'mobile' => '手机号码',	'condbuy' => '选项',	'cmobile' => '消费手机',	'date' => '生成时间',	'consume_time' => '消费时间',	'remark' => '备注',);// 调用xls下载生成函数down_xls($coupons, $kn, 'myxls.xls');
虽然这里只提供PHP的例子,因为基本上是文本的操作,所以很容易改写成其它语言的版本。

 

 

 

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘