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

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的例子,因为基本上是文本的操作,所以很容易改写成其它语言的版本。

 

 

 

VB5如何取得CDROM的盘符? VB5三十六计 VB5中确定CPU类型 Vb6.0编程技巧四则 VB6二进制双通道技术实战经典 VB6内置的内码转换功能 VB编程步步高-代码效率篇(一) VB编程步步高-杂类篇(二) VB编程步步高-杂类篇(一) VB编程的必备技巧 VB编程的一些心得 VB编程技巧几例 VB编程经验点滴 VB编程俱乐部问答 VB编程如何控制I/O口 VB编程问与答 VB编程之提速攻略(二) VB编程之提速攻略(三) Windows/VB编程逐月通 VB编写键盘拦截程序 VB常见问题解答(1) VB程序中处理随机事件 VB的多媒体控件VBPLAY.VBX简介 VB技巧点滴 VB技巧汇编 (一) VB剪贴板的用法 VB开发CAI软件的小经验 VB软件设计中的几个问题 VB新手常见问题解答 VB修改注册表一特例 VB与VC混合编程中处理消息的方法 如何得到webbrower控件下载消息?(比如下载*.zip文件) 难题一条 MTS怎么只能生成*.pak 和*.dll,却不能生成Clients子目录及在客户端安装的*.exe COM组件安装! PB 的新问题,有性趣请进!!!! 新手,键值问题 这样的问题没人会????? 大家帮忙看个程序 ACCESS数据库的小问题。 怎样使自己的问题成为热点问题的绝招! 关于c++builder中scanline的应用 跨数据库查询,请教各位高手! 这样的问题也没人会????????????????? 如何使用QuickRep制作简单报表?不牵涉任何DataSet的 关于Transaction的问题 请问 ListCtrl Item里的 Checkbox 被点击时对应的消息是什么? 100分~~100分~~高分求购。。。我也‘倾家荡产求购优秀系统分析案例’(paste from yyzh)。。。100分~~ 全中文的用Rose做的实际项目的UML模型! 救命!!我的机器不能下载东西了,怎么回事?? 求教邮件编程问题,邮件客户端如何实现“在服务器端保留备份的功能“? ciscoworks 各位大哥大虾,VC下如何用ADO连SQL SERVER?(急) ShellExecute和CreateProcess有什么区别? 关于海量数据、最有效率的排序、硬盘缓冲与映射、专业数据库的讨论 如何用VB编启动是可以带参数的程序呢?(例如:我自定义了一种文件,双击用我的程序打开,程序自动会打开这个文档 昨天我过生日,今天分蛋糕给大家 请问哪有《java图形设计2Swing篇》可以下? 我要用一个数据库去实时访问另一个据库,我该怎么办 URLghj1976@csdn.net----别吓我,有请您老人家! 谁给我介绍一下sql server7.0教材的比较好的下载网站,我给他20分。 我都急死了,到搜索引擎里搜到的好几个站点都不能用,到底哪儿可以当到3DMAX? 谁有写的比较好的邮件收发程序? 一个微软证书的私钥问题 微软证书的私钥问题 求助,简单问题 男人最快乐的十个瞬间! solaris下装oracle8.1.6遇到jre环境问题 怎抹加分?我准备给别人加40分,可我最多只能加20,请问另外20分怎末加分,为此我可能已得罪了一些人了。 请教下载的问题 如何在运行时动态修改Quick Report的打印机设置? 怎样做一个接受拽拖的LISTBOS(例如,把资源管理器里的文件拖到上面,就自动增加一项 ,就是拖的文件名) 怎样才能隐藏在ctrl+atl+del中进程列表中的项目啊 用C写DLL 请问:airhorse(编程至尊宝),infopower3000的注册码可以用于商业目的吗? 结构化异常处理 linux下如何配置内置Mondem? red hat linux7.0下安装oracle8.1.6遇到问题 我是菜鸟,问一个关于类的问题 问题:TWebbrower中,InnerHtml和OuterHtml以及InnerText和OuterText之间的区别 (加急)我要傻了,快救命啊!高分求救!!(回答正确者尽管开口要分!) ==============VC中怎样调试控制台程序=============? 已知x-1=根号3,求代数式(x+1)^2-4(x+1)+4的值 若根号2x+1+[y-2]²+ |z-1|=0,求代数式(xy)²的值 若代数式根号(2-a)的平方+根号(a-4)的平方的值是常数2则a的取值范围 已知x=根号2-1,求代数式x/x-2÷(2+x-4/2-x)的值 设x=1/根号3-2,y=1/根号3+2,求代数式X²﹢XY﹢y²/x﹢y的值 无论x取任何实数,代数式根号x的平方减6x加m都有意义,则m的取值范围是多少? 当X=2-根号3时,求代数式(7+4根号3)X^2+(2+根号3)X+根号3的值? 已知x=2+根号3,y=2-根号3,求代数式[(x+y):(x-y)-(x-y):(x+y)]*(1:x²)-(1:y²) 的值代数式图片 已知x=二分之一(根号7+根号5),y=二分之一(根号7-根号5),求X的平方-XY+Y的平方的值 当x=根号3,求代数式(x-1)(2X-根号3)-x(2x-1)的值 当x=根号2007-1时,求代数式x²+2x+3 已知y=二分之一+根号下2x-1+根号下1-2x,求x的平方+xy+y的平方的值 代数式根号下(X^2+4)+根号下[(12-X)^2+9]的最小值. 若x的平方+2x+1+根号(y+1)=0,则代数式根号(x-y)的平方的值是? 当X=根号5-1时候求代数式X²+2x-5的值 代数式根号(x平方+4)+根号[(12-x)平方+9]的最小值为多少?这个题目是刚开学初三的老师布置的~ 若y=√x-3-√6-3x+√(-2)^2,求代数式x-2分之y+三次根号(2x+y)的值. 已知a-b=3,a+b=根号7.求代数式a²+b²及ab的值 代数式根号下【(x-1)平方+1】+根号下【(x-2)平方+9】的最小值 当x=1+根号3时,求代数式(x^2-1)(x+1)/x^2-x÷(1 +x^2+1/2x)+x的值 当x=4-根号3时代数式x²-8x+19的值为 给出代数式根号下[(X+1)的平方+1]+根号下[(x-3)的平方+4]的几何意义,并求它的最小值 已知根号X加根号X分之一=3,求代数式X分之X平方+1 当x=(1+根号2011)/2,求代数式4x^3-2014x-2010的值 代数式根号x+根号(x-1)+根号(x-2)的最小值是 若代数式x-1分之根号x有意义,则实数x的取值范围是如题 已知x∧2-4x+1=0,则代数式根号下x+1/x+3的值为? 求证:代数式根号X+根号X—1+根号X—2 的最小值为根号2+1? 若代数式3次根号下x分之1在实数范围内有意义,则x的取值范围为—— 当X=根号3-1时 求代数式X²+2X-3的值 若x,y都是实数,且满足y>根号(1/2-x)+根号(x-1/2)+1,化简代数式1-x分之根号(x-1)的平方-(y-1)分之根号y平方-2+1. 若代数式根号x-3有意义,则实数x的取值范围是如题. 已知a=根号3+1,b=根号3-1求代数式a²b-ab²的值 若实数X,Y满足Y=根号下2X-1+(根号下1-2X)加三分之一求代数式X平方-2XY+Y平方 求使代数式根号1-x+根号1-2x分之1+2+x分之1有意义的条件 已知:a=3倍的根号2+2倍的根号3,b=3倍的根号2-2倍的根号3,求代数式a²b-ab²的值. 已知实数x、y满足|2x-y+1|+3根号3x-2y+4=0,求代数式[(x-y)/(x-2y)]/(x的平方-2y)/[(x的平方-y的平方)/x的已知实数x、y满足|2x-y+1|+3根号3x-2y+4=0,求代数式[(x-y)/(x-2y)]/(x的平方-2y)/[(x的平方-y的平方)/(x的 当x=根号2013-1时,求代数式x的平方+2x+2的值 已知x-1=根号3,求代数式(x+1)²-4(x+1)+4的值 若实数x,y满足y=根号2x-1+根号1-2x+1/3,求代数式x^2-2xy+y^2的值回答的能否详细些 已知代数式x的平方+y的平方+2根号2x-4y+根号42,这个代数式是否存在最大值或最小值 已知a=-根号7+3分之2,求代数式a³+5a²-4a-6的值 已知实数x满足根号x^2-2x-8+|x^2-5x+4|=0,求代数式根号x/1-x*根号x^2-1的值 已知x=(根号5-1)/2,求代数式x³+2x²-1的值 已知x-2=-根号3,求代数式(x+1)²-6(x+1)+9的值. 二次根式:当x=根号5-1时,求代数式x^2+5x-6的值.当x=根号5-1时,求代数式x^2+5x-6的值. 已知mn是方程x²+2√2+1=0的两根,则代数式根号下(m² +n²+3mn)的值为为什么答案不能得-3根号9不等于±3吗 已知x=根号5+根号2,y=根号5-根号2,求代数式x²-xy+y²的值 已知x=1/(2-根号3).求代数式根号(x的平方-8x+16)/(x的平方-5x+4)的值 若m为根号下2的小数部分,求代数式m²+m+根号下2的值. 求详细过程 若a,b分别表示6减根号5的整数部分和小数部分,求代数式2ab减b的平方的差要求有过程. 已知2倍根号2x-根号6=根号2x+2倍根号2,求代数式(7-4倍根号3)x05+(2-根号3)x+根3的值 已知m,n是有理数,关于x的方程x²+mx+n=0有一个根是根号5-2求m+n 已知x,y分别为8-根号11的整数部分和小数部分,求2xy-y的平方的值 问一道题;已知x=2008-5称根号3求代数式x的平方-1/x方-2x=1÷【1=x=1/x-3】的值 已知x=根号下2011根号外再-1,求代数式x²+2x+5的值、 已知y=根号(x-8)+根号(8-x)+18,求代数式[(x+y)/(根号x+根号y)]-2xy/(x根号y-y根号x)的值 已知X=根号2,则代数式x/(x-1)的值为多少 已知x=根号2015-1,求代数式x²+2x-2015的值 已知Y=根号X-8+根号8-X在加18,求代数式X-Y/根号X-根号y再减去2xy/x倍根号y-y倍的根号x的值.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn