php 设置excel格式,php 操作excel文件的方法小结

用php生成excel文件的方法,单独就是用的php,注意一下数据的输入方法即可。

一、php,不用COM,生成excel文件

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:filename=test.xls");

echo "test1\t";

echo "test2\t\n";

echo "test1\t";

echo "test2\t\n";

echo "test1\t";

echo "test2\t\n";

echo "test1\t";

echo "test2\t\n";

echo "test1\t";

echo "test2\t\n";

echo "test1\t";

echo "test2\t\n";

?>

在php环境运行上面的代码,大家就可以看到浏览器询问用户是否下载excel文档,点击保存,硬盘上就多了一个excel的文件,使用excel打开就会看到最终的结果,怎么样不错吧。

其实在做真正的应用的时候,大家可以将数据从数据库中取出,然后按照每一列数据结束后加\t,每一行数据结束后加\n的方法echo出来,在php的开头用header("Content-type:application/vnd.ms-excel");表示输出的是excel文件,用header("Content-Disposition:filename=test.xls");表示输出的文件名为text.xls。这样就ok了。

我们更可以修改header让他输出更多格式的文件,这样php在处理各种类型文件方面就更加方便了.

二、用PHP将mysql数据表转换为excel文件格式

$DB_Server = "localhost";

$DB_Username = "mydowns";

$DB_Password = "";

$DB_DBName = "mydowns";

$DB_TBLName = "user";

$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password)

or die("Couldn@#t connect.");

$Db = @mysql_select_db($DB_DBName, $Connect)

or die("Couldn@#t select database.");

$file_type = "vnd.ms-excel";

$file_ending = "xls";

header("Content-Type: application/$file_type");

header("Content-Disposition: attachment; filename=mydowns.$file_ending");

header("Pragma: no-cache");

header("Expires: 0");

$now_date = date(@#Y-m-d H:i@#);

$title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";

$sql = "Select * from $DB_TBLName";

$ALT_Db = @mysql_select_db($DB_DBName, $Connect)

or die("Couldn@#t select database");

$result = @mysql_query($sql,$Connect)

or die(mysql_error());

echo("$title\n");

$sep = "\t";

for ($i = 0; $i < mysql_num_fields($result); $i++) {

echo mysql_field_name($result,$i) . "\t";

}

print("\n");

$i = 0;

while($row = mysql_fetch_row($result))

{

$schema_insert = "";

for($j=0; $j

{

if(!isset($row[$j]))

$schema_insert .= "NULL".$sep;

elseif ($row[$j] != "")

$schema_insert .= "$row[$j]".$sep;

else

$schema_insert .= "".$sep;

}

$schema_insert = str_replace($sep."$", "", $schema_insert);

$schema_insert .= "\t";

print(trim($schema_insert));

print "\n";

$i++;

}

return (true);

?>

三、PHP操作excel的一个例子(用COM对象生成excel)

这是对于那些只喜欢简单处理一下excel朋友来说的

//定义一个excel文件

$workbook = "C:/My Documents/test.xls";

$sheet = "Sheet1";

//生成一个com对象$ex

$ex = new COM("Excel.sheet") or Die ("连不上!!!");

//打开一个excel文件

$book = $ex->application->Workbooks->Open($workbook) or Die ("打不开!!!");

$sheets = $book->Worksheets($sheet);

$sheets->activate;

//获取一个单元格

$cell = $sheets->Cells(5,5);

$cell->activate;

//给该单元格赋值

$cell->value = 999;

//保存为另一文件newtest.xls

$ex->Application->ActiveWorkbook->SaveAs("newtest.xls");

//关掉excel,如果想看效果,则注释掉下面两行,由用户手动关掉excel

$ex->Application->ActiveWorkbook->Close("False");

unset ($ex);

?>

四、php生成EXCEL的东东可以通过PHP来产生EXCEL档。

----------------------------

Excel Functions

----------------------------

将下面的代码存为excel.php ,然后在页面中包括进来

然后调用

1. Call xlsBOF()

2. 将一些内容写入到xlswritenunber() 或者 xlswritelabel()中.

3.然后调用 Call xlsEOF()

也可以用 fwrite 函数直接写到服务器上,而不是用echo 仅仅在浏览器上显示。

// ----- begin of function library -----

// Excel begin of file header

function xlsBOF() {

echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);

return;

}

// Excel end of file footer

function xlsEOF() {

echo pack("ss", 0x0A, 0x00);

return;

}

// Function to write a Number (double) into Row, Col

function xlsWriteNumber($Row, $Col, $Value) {

echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);

echo pack("d", $Value);

return;

}

// Function to write a label (text) into Row, Col

function xlsWriteLabel($Row, $Col, $Value ) {

$L = strlen($Value);

echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);

echo $Value;

return;

}

// ----- end of function library -----

?>

//

// To display the contents directly in a MIME compatible browser

// add the following lines on TOP of your PHP file:

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");

header ("Cache-Control: no-cache, must-revalidate");

header ("Pragma: no-cache");

header (@#Content-type: application/x-msexcel@#);

header ("Content-Disposition: attachment; filename=EmplList.xls" );

header ("Content-Description: PHP/INTERBASE Generated Data" );

//

// the next lines demonstrate the generation of the Excel stream

//

xlsBOF(); // begin Excel stream

xlsWriteLabel(0,0,"This is a label"); // write a label in A1, use for dates too

xlsWriteNumber(0,1,9999); // write a number B1

xlsEOF(); // close the stream

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大学班里80%都去培训班,为什么我没去

背景大四刚开始&#xff0c;各大培训机构就开始到各大高校开始宣传&#xff0c;我们学校也不例外&#xff1b;当时信息与计算科学这专业在我们学校并不景气&#xff0c;有好几次听说&#xff1a;如果我们那届的就职率还不行的话&#xff0c;那很大可能将此专业拿掉&#xff1b;…

织梦手机版list.php,解决织梦一级目录作域名list.php无法跳转到手机站的问题

最近测试了www.doweb8.com/m/list.php?tid1 在手机站访问的时候&#xff0c;无法跳转到手机的模板&#xff0c;终于找到了解决了方法&#xff0c;给大家分享一下修改根目录下的m/list.php文件重新弄的代码&#xff0c; 不区分几级目录&#xff0c;理论是根据你指定的PC&#…

如何在 C# 中使用 Buffer

缓冲区 是内存中的一组字节序列&#xff0c;缓冲 是用来处理落在内存中的数据&#xff0c;.NET 缓冲 指的是处理 非托管内存 中的数据&#xff0c;用 byte[] 来表示。当你想把数据写入到内存或者你想处理非托管内存中的数据&#xff0c;可以使用 .NET 提供的 System.Buffer类&a…

php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对

用 php-cs-fixer 自动格式化&#xff0c;一个配置配合 Git 自动格式化&#xff0c;补充楼上。示例 Git Hook忽略前端的代码格式化&#xff0c;修改一下就可以用。#!/bin/bash## check PHP code syntax error and standard with phpcs# https://blog.csdn.net/xsgnzb/article/de…

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号

.NET SDK-Style 项目&#xff08;Core、Standard、.NET5&#xff09;中的版本号独立观察员 2020 年 12 月 24 日之前 .NET Framework 时&#xff0c;项目版本号等信息是存储在 AssemblyInfo.cs 文件中&#xff0c;通过程序集特性进行设置&#xff1a;.NET Core 之后&#xff0c…

ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能

jQueryPHPAjax实现的一款动态数字统计展示实例&#xff0c;本例是在页面上动态展示了当前在线用户数&#xff0c;当然了&#xff0c;你可以应用到其他更多场景中。首先我们在#number放置要统计的数字&#xff1a;当前在线&#xff1a;然后我们要定义一个动画过程&#xff0c;使…

[Stardust]星尘分布式全链路监控

随着业务的发展&#xff0c;微服务系统会变得越来越大&#xff0c;各个服务之间的调用关系也会日趋复杂。一个WebApi请求&#xff0c;后方可能经历多个微服务以及数据库和MQ操作&#xff0c;在这个调用过程中&#xff0c;可能因为某一个服务节点出现延迟或者失败&#xff0c;而…

php去掉查询返回的字段序列,php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回...

array_slice()定义和用法array_slice() 函数在数组中根据条件取出一段值&#xff0c;并返回。注释&#xff1a;如果数组有字符串键&#xff0c;所返回的数组将保留键名。(参见例子 4)语法array_slice(array,offset,length,preserve)参数 描述array 必需。规定输入的数组。offse…

如何在 C# 中使用 const,readonly,static

平时在开发时经常会用到 const,readonly,static 关键字&#xff0c;可以肯定这些关键词是完全不同的概念&#xff0c;但有时候他们在用法上很相似以至于在场景中不知道选择哪一个&#xff0c;这篇文章我们就来讨论 C# 中的 const&#xff0c;static 和 readonly 关键词&#xf…

php html asp .net iis tomcat,iis+apache+tomcat 整合共享80口 支持ASP .NET JSP PHP全能WEB服务...

文件目录说明&#xff1a;[apache-tomcat-6.0.37-windows-x86] tomcat 安装版与解压版文件[httpd-2.2] apache安装文件[java] jdk与jre安装文件[mysql] mysql与mysql-tool安装文件[php-5.2.14-Win32] php解压文件[tomcat-connectors-1.2.14-isapi-iis-6.0] isapi模块安装文件[t…

2020,你收获了什么?又失去了什么?

这是头哥侃码的第228篇原创今天是圣诞节&#xff0c;既魔幻又真实的2020年&#xff0c;还有6天就要结束了。每年的年末&#xff0c;我都习惯在下班途中&#xff0c;把头靠在地铁车厢两侧的扶手上&#xff0c;闭上眼睛开始思考自己过去一年的收获与得失&#xff0c;并把这些思绪…

2019龙少php泛站群,龙少php泛站群|PHP版站群 全自动泛解析站群程序 赠送教程

首先将准备建站的域名设置泛解析如baidu.com泛解析为 添加A记录为 *.baidu.com然后在iis里添加空头主机不能设置 汉字目录keywords.txt 关键字&#xff0c;一行一个domain.txt 域名&#xff0c;一行一个&#xff0c;*代表随机muban.html 模板文件&#xff0c;可以修改缓存在dat…

轻量级消息队列RedisQueue

消息队列&#xff08;Message Queue&#xff09;是分布式系统必不可少的中间件&#xff0c;大部分消息队列产品&#xff08;如RocketMQ/RabbitMQ/Kafka等&#xff09;要求团队有比较强的技术实力&#xff0c;不适用于中小团队&#xff0c;并且对.NET技术的支持力度不够。而Redi…

php下载文件代码 数据库,PHP备份数据库生成SQL文件并下载的函数代码

. 代码如下:/****** 备份数据库结构 ******//*函数名称&#xff1a;table2sql()函数功能&#xff1a;把表的结构转换成为SQL函数参数&#xff1a;$table: 要进行提取的表名返 回 值&#xff1a;返回提取后的结果&#xff0c;SQL集合函数作者&#xff1a;heiyeluren*/function t…

生态和能力是国内自研操作系统发展的关键

“缺芯少魂”一直是我国信息产业短板&#xff0c;如果无法实现国产化替代&#xff0c;信息安全和产业安全就犹如沙滩上盖房子&#xff0c;上层再坚固&#xff0c;地基不稳&#xff0c;一遇到风吹草动就有可能全部垮掉。近年来&#xff0c;国内自研操作系统厂商动作频频&#xf…

php curl 使用方法,php curl使用方法与步骤

本书特别新手的一点&#xff0c;是将重要操作的核心思路都为大家提供了。在数据库、图片、文件上传我们都把真正的步骤。以及步骤如何组何成为我们的代码和实现过程都做过讲解。我们将curl的步骤分为以下7步&#xff1a;1.初使化curl资源2.参数设置请求的协议地址3.参数设置是否…

matlab群延时函数,群延迟函数(group delay function)群延迟滤波器 | 学步园

最近看了许多介绍Group delay function的论文&#xff0c;文章中大篇幅提到Group delay&#xff0c;group delay of digital filters,对这个方面的知识好像还挺有用的&#xff0c;所以想把它记录下来。然后总结下计算Group delay function的步骤。假设有N个样本的脉冲响应为h(n…

怎样使用C# 获取WIFI的连接状态?

怎样使用C# 获取WIFI的连接状态&#xff1f;行文导航思路问题得到解决代码展示断开与连接WIFI状态效果在OrangePI Linux Arm32上的测试效果C# 获取WIFI的连接状态本文是在知道WIFI网络设备名称的情况下&#xff0c;获取该设备的连接状态&#xff0c;同样也是可以判断是否已连接…

如何在 ASP.NET Core 中使用 URL Rewriting 中间件

URL rewriting 是根据预先配置好的一组规则去修改 request url&#xff0c;值得注意的是&#xff1a;URL Rewriting 的重写功能和 url 重定向 是两个概念&#xff0c;本篇我们就来讨论下如何在 ASP.NET Core 中对 url 进行 rewriting。安装 URL Rewriting 中间件 要想使用 URL …

睡眠分期matlab代码,非接触式睡眠分期方法与流程

本发明属于雷达监测技术领域&#xff0c;特别是一种非接触式睡眠分期方法。背景技术&#xff1a;传统的呼吸睡眠监护系统主要依靠贴附于人体的接触式传感器、电极进行测量&#xff0c;从而实时获得人体的生命参数信号&#xff0c;这些方法都需要直接或间接地接触人体&#xff0…