好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php制作生成xls PHP网页制作

很多站长朋友们都不太清楚php制作生成xls,今天小编就来给大家整理php制作生成xls,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php如何输出excle 2、 php 怎么把数据导出到excel表格 3、 php怎样生成excel表格 - 技术问答 4、 PHP如何将查询出来的数据导出成excel表格(最好做一个按钮) 5、 php怎么导出大量数据的Excel 6、 php 如何在lunix 环境下生成 excel php如何输出excle

分类: 电脑/网络 >> 软件

解析:

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

然后调用

1. Call xlsBOF()

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

3.然后调用 Call xlsEOF()

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

<?php

----- 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 patible browser

add the following lines on TOP of your PHP file:

<?php

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

?>

php 怎么把数据导出到excel表格

php 把数据导出到excel表格有多种方法,比如使用 phpExcel 等,以下代码是直接通过 header 生成 excel 文件的代码示例:

<?php

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

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

 $cfg_dbhost = 'localhost';

 $cfg_dbname = 'testdb';

 $cfg_dbuser = 'root';

 $cfg_dbpwd = 'root';

 $cfg_db_language = 'utf8';

 // END 配置

 //链接数据库

 $link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);

 mysql_select_db($cfg_dbname);

 //选择编码

 mysql_query("set names ".$cfg_db_language);

 //users表

 $sql = "desc users";

 $res = mysql_query($sql);

 echo "<table><tr>";

 //导出表头(也就是表中拥有的字段)

 while($row = mysql_fetch_array($res)){

  $t_field[] = $row['Field']; //Field中的F要大写,否则没有结果

  echo "<th>".$row['Field']."</th>";

 }

 echo "</tr>";

 //导出100条数据

 $sql = "select * from users limit 100";

 $res = mysql_query($sql);

 while($row = mysql_fetch_array($res)){

  echo "<tr>";

  foreach($t_field as $f_key){

   echo "<td>".$row[$f_key]."</td>";

  }

  echo "</tr>";

 }

 echo "</table>";

?>

php怎样生成excel表格 - 技术问答

如果楼主想生成一个固定格式的excel表格的话,可以现在excel里面做好,然后另存为网页格式,然后你在Dreamweaver中打开看这段代码,然后在这段代码的最开头的部分添加以下两句语句最后将这个改动的代码保存为PHP文件即可使用还有这个做法有个小Bug。就是在报表开头会输出“-->”,不知道为什么,请其他高手解释一下 查看原帖>>

PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)

如果将数据导出成excel,需要用到PHPExcel,这个可以百度一下。

要实现这个功能,代码是比较多的,下面是我的代码,肯定不能兼容你的,需要修改。

if ($_POST["outputExcelBtn"]){

define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

require_once 'PHPExcel/Classes/PHPExcel.php';

$objPHPExcel = new PHPExcel();

$objPHPExcel->getProperties()->setCreator("CG")

 ->setLastModifiedBy("CG")

 ->setTitle("CG")

 ->setSubject("CG")

 ->setDescription("CG")

 ->setKeywords("CG")

 ->setCategory("CG");

$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')

  ->setSize(10);

$objPHPExcel->getActiveSheet()->setCellValue('A1', '编号')

  ->setCellValue('B1', '产品名字')

  ->setCellValue('C1', '产品属性')

  ->setCellValue('D1', '添加日期')

  ;

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);

$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);

$i=2;

while ($f=$rs->movenext()){//这里是查询数据的代码,请用你自己的(本程序由[且听风吟福利吧3tii.com]提供)

$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $f["p_num"])

->setCellValue('B'.$i, $f["p_name"])

->setCellValue('C'.$i, $f["p_pra"])

->setCellValue('D'.$i, date('Y-m-d',$f["p_date"]))

;

$objPHPExcel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$i++;

}

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//上下对齐

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //左右对齐

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

    $objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFill()->getStartColor()->setARGB('FF808080');

$objPHPExcel->getActiveSheet()->setTitle('产品表');//重命名工作表

$objPHPExcel->setActiveSheetIndex(0);//设置打开excel时显示的工作表

$callStartTime = microtime(true);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$filename='PDT'.(date('Y-m-d'));

$objWriter->save(PATH_CREATE.iconv('utf-8','gb2312',$filename).'.xls');

$objPHPExcel = PHPExcel_IOFactory::load(PATH_CREATE.iconv('utf-8','gb2312',$filename).'.xls');

$notice='导出Excel成功,文件名为<span class="red">'.$filename.'.xls</span>,<a href="'.$filename.'.xls">【点此下载】</a>';

}

因为你说的需要有一个按钮触发事件,所以outputExcelBtn就是按钮名字

<input type="submit" name="outputExcelBtn" value="导出excel" />

网上有很多人问这个的,回答的人很少,要么是自己解决了不想让其他人知道,要么是不能用,这个是在一直用的,没问题。

php怎么导出大量数据的Excel

用这个吧:PHPExcel

步骤:

1.百度:phpexcel,结果如图所示,点击第一个结果;

2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;

3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;

4.

//引入PHPExcel库文件(路径根据自己情况)

include './phpexcel/Classes/PHPExcel.php';

//创建对象

$excel = new PHPExcel();

//Excel表格式,这里简略写了8列

$letter = array('A','B','C','D','E','F','F','G');

//表头数组

$tableheader = array('学号','姓名','性别','年龄','班级');

//填充表头信息

for($i = 0;$i < count($tableheader);$i++) {

$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");

}

5.

//表格数组

$data = array(

array('1','小王','男','20','100'),

array('2','小李','男','20','101'),

array('3','小张','女','20','102'),

array('4','小赵','女','20','103')

);

//填充表格信息

for ($i = 2;$i <= count($data) + 1;$i++) {

$j = 0;

foreach ($data[$i - 2] as $key=>$value) {

$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");

$j++;

}

}

6.

//创建Excel输入对象

$write = new PHPExcel_Writer_Excel5($excel);

header("Pragma: public");

header("Expires: 0");

header("Cache-Control:must-revalidate, post-check=0, pre-check=0");

header("Content-Type:application/force-download");

header("Content-Type:application/vnd.ms-execl");

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");;

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

header("Content-Transfer-Encoding:binary");

$write->save('php://output');

7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,我直接放在了桌面上,如图所示;

8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。

详细内容请参考:

php 如何在lunix 环境下生成 excel

就是先做好 Excel 样表(因为大多数应用都是输出的文件事先已设计好格式了),然后存成“XML表格”格式文件,再用 PHP 配合 Smarty 来输出。

先看模板文件(excel.tpl)(注意,我用的标记是“<{”和“}>”)

在这个例子中,关键就是把循环显示员工信息部分用 <{section}> 来处理。

[Copy to clipboard] [ - ]CODE:

<?xml version="1.0"?>

<?mso-application progid="Excel.Sheet"?>

<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"

xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:x="urn:schemas-microsoft-com:office:excel"

xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"

xmlns:html="">

<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">

<Author>Diana</Author>

<LastAuthor>Diana</LastAuthor>

<Created>2006-04-25T11:58:52Z</Created>

<LastSaved>2006-04-25T13:10:20Z</LastSaved>

<Version>11.5606</Version>

</DocumentProperties>

<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">

<WindowHeight>12495</WindowHeight>

<WindowWidth>16035</WindowWidth>

<WindowTopX>0</WindowTopX>

<WindowTopY>105</WindowTopY>

<ProtectStructure>False</ProtectStructure>

<ProtectWindows>False</ProtectWindows>

</ExcelWorkbook>

<Styles>

<Style ss:ID="Default" ss:Name="Normal">

<Alignment ss:Vertical="Center"/>

<Borders/>

<Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>

<Interior/>

<NumberFormat/>

<Protection/>

</Style>

<Style ss:ID="s21">

<Font ss:FontName="宋体" x:CharSet="134" ss:Size="18" ss:Bold="1"/>

</Style>

<Style ss:ID="s29">

<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>

<Borders>

<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>

</Borders>

</Style>

<Style ss:ID="s35">

<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>

<Borders>

<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>

<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>

</Borders>

<NumberFormat ss:Format="@"/>

</Style>

</Styles>

<Worksheet ss:Name="Sheet1">

<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="21" x:FullColumns="1"

x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="17.25">

<Column ss:AutoFitWidth="0" ss:Width="36"/>

<Column ss:AutoFitWidth="0" ss:Width="69"/>

<Column ss:AutoFitWidth="0" ss:Width="78.75"/>

<Row ss:Height="22.5">

<Cell ss:StyleID="s21"><Data ss:Type="String">员工信息表</Data></Cell>

</Row>

<Row ss:AutoFitHeight="0"/>

<Row ss:AutoFitHeight="0">

<Cell ss:StyleID="s29"><Data ss:Type="String">序号</Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String">工号</Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String">姓名</Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String">性别</Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String">年龄</Data></Cell>

</Row>

<{* 在这里对要循环输出的数据使用 section 处理。*}>

<{section name=list loop=$Emps}>

<Row ss:AutoFitHeight="0">

<Cell ss:StyleID="s29"><Data ss:Type="Number"><{$smarty.section.customer.rownum}></Data></Cell>

<Cell ss:StyleID="s35"><Data ss:Type="String"><{$Emps[list].id}></Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String"><{$Emps[list].name}></Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="String"><{$Emps[list].sexual}></Data></Cell>

<Cell ss:StyleID="s29"><Data ss:Type="Number"><{$Emps[list].age}></Data></Cell>

</Row>

<{/section}>

</Table>

</Worksheet>

</Workbook>

不一定要和我上面这个一模一样,以上我经过少许删减,比如我把最后的 <WorksheetOptions> 段给删掉了。

配套的 PHP 测试程序(excel.php):

[Copy to clipboard] [ - ]CODE:

<?php

// 实验资料,实际作业中,这里应该是从数据库取得资料

$emps[0]['id'] = '00001';

$emps[0]['name'] = 'ABC';

$emps[0]['sexual'] = '男';

$emps[0]['age'] = 28;

$emps[1]['id'] = '00002';

$emps[1]['name'] = 'BBC';

$emps[1]['sexual'] = '男';

$emps[1]['age'] = 23;

$emps[2]['id'] = '00003';

$emps[2]['name'] = 'CBA';

$emps[2]['sexual'] = '女';

$emps[2]['age'] = 20;

ini_set('include_path', '/data/website/htdocs/includes');

require_once('class.Smarty.php');

$smarty = new mySmarty();

$smarty->assign('Emps', $emps);

// 输出文件头,表明是要输出 excel 文件

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

header("Content-Disposition: attachment; filename=test.xml"); //<----- 这里,改成 test.xls 也可以,这样就可以直接用 Excel 打开了。不过本质还是 xml,用记事本打开就知道了。所以打开后,再另存一下,存为真正的 xls 格式。

$smarty->display('excel.tpl');

关于php制作生成xls的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php制作生成xls PHP网页制作的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did163575
更新时间:2023-02-11   阅读:49次

上一篇: php循环有几个 关于php中的各种循环

下一篇:php哈希函数 php 哈希算法

相关资讯

最新资料更新

  • 1.dedecms增加文章自定义属性的方法介绍
  • 2.DedeCMS编辑器fck更换成eWebEditor编辑器具体步骤
  • 3.dedecms实现任意页面调用当前会员信息的方法
  • 4.Dedecms去掉URL中a目录的方法
  • 5.让dede:type调用栏目内容content的方法
  • 6.Dedecms频道,列表页,内容页中调用全站最新文章的方法
  • 7.织梦DedeCMS调用昨天、两天前、某个时间段发布的文章的方法
  • 8.详解织梦标签{dede:freelist/}列表调用增加排序方式的代码
  • 9.织梦标签channel实现列表页调用当前栏目的子类
  • 10.增加dedecms后台留言管理功能
  • 11.dedecms实现有短标题时显示短标题、无短标题时显示长标题的方法
  • 12.Dedecms图片加上Alt和Title等属性的修改方法
  • 13.dedecms中首页调用专题的方法(5.1-5.7)
  • 14.dedecms 获取描述信息限制字数的语法
  • 15.织梦DEDECMS友情链接出现内页与首页都在首页显示解决方法
  • 16.dedecms按键盘方向键实现(上一篇下一篇翻页)功能
  • 17.织梦DEDECMS结构化数据Meta申明标签
  • 18.织梦DedeCMS缩略图失真模糊完美解决方法
  • 19.如何让织梦DedeCMS的TAG标签按栏目显示 只显示当前栏目标签
  • 20.dedecms结合jQuery实现汇率自动调整

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]