两款php导出excel实例

 更新时间:2016年11月25日 17:33  点击:1592
 代码如下 复制代码

<?php
header("content-type:application/vnd.ms-excel; charset=gbk");
    header("content-disposition:attachment;filename=test_data.xls");


$link=mysql教程_connect('localhost','root','hhhkkk');
if($link){

    mysql_select_db('dataui',$link);
    mysql_query("set names 'gbk'");
    echo "数据库教程连接已经成功!";
}else{
     echo "数据库连接失败!";
}

echo "项目名称"." ";
echo "项目详情"." ";
$sql="select * from php168_item_content where fid='11'";
$query=mysql_query($sql);
while($rs=mysql_fetch_array($query)){
          echo $rs[title]." ";
     $sql2="select * from php168_item_content_1 where id='$rs[id]'";
   $query2=mysql_query($sql2);
   while($rs2=mysql_fetch_array($query2)){
   echo $rs2[content]." ";
   echo " ";
     
   }
                       
}


?>

导出excel时,如果某列导出的是身份证号的话,打开excel文件以后会发现,身份证号自动采用科学计数法,无论如何修改该列属性,都无法实现自己的要求。网上有人说,先把该列属性改为文本以后,再输入就没有问题,实际操作excel确实如此,但是,php程序导出就无法做到了

 

 代码如下 复制代码

<?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('smarty.php');
        $smarty = new smarty();

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

        // 输出文件头,表明是要输出 excel 文件
        header("content-type: application/vnd.ms-excel");
        header("content-disposition: attachment; filename=test.xls");
        $smarty->display('excel-xml.tpl');
?>

 代码如下 复制代码

//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
$page = $_get[page];
if(!function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分页导航中的链接,除了加入不同的查询信息"page"外的部分都与这个url相同。
//   默认值本该设为本页url(即$_server["request_uri"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页url。
function pageft($totle,$displaypg=20,$url=''){

//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库教程)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_server:读取本页url"$_server["request_uri"]"所必须。
global $page,$firstcount,$pagenav,$_server;

//为使函数外部可以访问这里的"$displaypg",将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$globals["displaypg"]=$displaypg;

if(!$page) $page=1;

//如果$url使用默认,即空值,则赋值为本页url:
if(!$url){ $url=$_server["request_uri"];}

//url分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出url的查询字串
if($url_query){
//因为url中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
//这里用到了正则表达式,请参考"php中的正规表达式"
$url_query=preg_replace("/(^|&)page=$page/","",$url_query);

//将处理后的url的查询字串替换原来的url的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);

//在url后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}

//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;

//开始分页导航条代码:
$pagenav="显示第 <b>".($totle?($firstcount+1):0)."</b>-<b>".min($firstcount+$displaypg,$totle)."</b> 条记录,共 $totle 条记录";

//如果只有一页则跳出函数:
if($lastpg<=1) return false;

$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</a> ";

//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location="$url="+this.value'> ";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option> ";
else $pagenav.="<option value='$i'>$i</option> ";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}

php判断文件是否存在其实很简单,只需要一个函数即可:file_exists(文件路径); 用此函数一般用来判断文件是否存在,然后操作,常用的有删除文件:unlink(文件路径);
 代码如下 复制代码
if(file_exists("data.txt"))
 {
  print("这个文件存在");  //文件存在
  print(fileinode("data.txt"));
 }
 else
 {
  print("文件不存在");  //文件不存在
 }


方法二

 代码如下 复制代码
<?php session_start();
if($submit=="查找"){
$file_up=$_post[files];
if(file_exists($file_up)){
echo "文件已经存在!!";
}else{echo "该文件不存在!!";}
}
?>


方法三

 

 代码如下 复制代码
<?php
$filename = './d243375_0.png';
$filename = realpath($filename);
if (!file_exists($filename)) {
die("图片不存在~!");
}
$size = getimagesize ($filename);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if("image/png" != $size['mime'] || $file_extension != "png"){
die("这不是一张完整的png图片");
}
$img = @imagecreatefrompng ($filename);
if($img){
ob_start("output_handler");
imagepng($img);
ob_end_flush();
}else{
die("不能正确的创建png图形,请检查png图形是否完好~");
}
function output_handler($img) {
header('content-type: image/png');
header('content-length:'.strlen($img));
return $img;
}
?>
本文章是一款完整的Ajax用户注册验证实例代码,利用了ajax php实现在用户输入完用户名了就验证这个用户名是否被注册了,然后给出正确的提示。
 代码如下 复制代码
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk">
<title>ajax用户注册验</title>
<link href="style.css教程" rel="stylesheet" type="text/css">
<script language="网页特效" type="text/javascript" src="from_ck.js"></script>
</head>
<body>
<div id="reg">
<h1>ajax用户注册验证</h1>
<form name="formuser" onsubmit="return register();" action=user.php
method=post>
  <br>
  <table width="100%" align=center border=0>
    <tbody>
      <tr>
        <td align=right width="15%"><strong>用户名:</strong></td>
        <td width="57%"><input id="username" onblur="chkusername(this)"
      name="username">
            <span id="username_notice" >*</span></td>
      </tr>
      <tr>
        <td align=right><strong>email:</strong></td>
        <td><input id="email" onblur="checkemail(this)" name="email">
            <span id=email_notice >*</span></td>
      </tr>
      <tr>
        <td align=right><strong>密码:</strong></td>
        <td><input id="password" onblur="check_password(this)"
      onkeyup="checkintensity(this.value)" type="password" name="password">
            <span
      id=password_notice >*</span></td>
      </tr>
      <tr>
        <td align=right><strong>密码强度:</strong></td>
        <td><table cellspacing=0 cellpadding=1 width=145 border=0>
          <tbody>
            <tr align=middle>
              <td id=pwd_lower width="33%">弱</td>
              <td id=pwd_middle width="33%">中</td>
              <td id=pwd_high width="33%">强</td>
            </tr>
          </tbody>
        </table></td>
      </tr>
      <tr>
        <td align=right><strong>确认密码:</strong></td>
        <td><input id="conform_password" onblur="check_conform_password(this)"
      type="password" name="confirm_password">
            <span id=conform_password_notice >*</span></td>
      </tr>
      <tr>
        <td align=right><strong>msn:</strong></td>
        <td><input name=other[msn]>        </td>
      </tr>
      <tr>
        <td align=right><strong>qq:</strong></td>
        <td><input name=other[qq]>        </td>
      </tr>
      <tr>
        <td align=right><strong>办公电话:</strong></td>
        <td><input name=other[office_phone]>        </td>
      </tr>
      <tr>
        <td align=right><strong>家庭电话:</strong></td>
        <td><input name=other[home_phone]>        </td>
      </tr>
      <tr>
        <td align=right><strong>手机:</strong></td>
        <td><input name=other[mobile_phone]>        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><label>
          <input type="checkbox" checked value="1" name="agreement" onblur="check_agreement(this)">
          <b>我已看过并接受《<a href="#">用户协议</a>》<span id=agreement_notice >*</span></b></label></td>
      </tr>
      <tr>
        <td  ><input type=hidden value=act_register name=act></td>
        <td  ><input type=submit value=确认注册&nbsp;&nbsp;&nbsp; name="submit1" class="anniu" disabled></td>
      </tr>
      <tr>
        <td colspan=2>&nbsp;</td>
      </tr>
    </tbody>
  </table>
</form>
</div>
</body>
</html>

源码下载地址
http://down.111cn.net/down/code/js/2010/0904/20636.html
效果预览地址
http://g.111cn.net/javascript/code/20100904/ajax/

本文章为你提供一款经典的php文件上传类了,并且举例验证了这一款文件上传代码是可用的哦。
 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
  <label for="filefield"></label>
  <input type="file" name="filefield" id="filefield" />
  <input type="submit" name="button" id="button" value="文件开始上传" />
</form>
</body>
</html>

<?
/*

|   @param: $dir      -- 存放目录,最后加"/" [字串]
|   @param: $file_var -- 表单变量 [字串]
|   @param: $max_size -- 设定最大上传值,以k为单位. [整数/浮点数]
|   @param: $type     -- 限定后辍名(小写),多个用"/"隔开,不限定则留空 [字串]
|   @param: $name     -- 上传后命名,留空则为原名,true为系统随机定名 [布林值]
|   return: 上传后文件名
*/

function _asupfiles($dir, $file_var, $max_size='', $type='', $name=false)
{
if (!file_exists($dir)) showmsg("上传图片失败:上传目录 ".$dir." 不存在!",0);
if (!is_writable($dir))
{
showmsg("上传图片失败:上传目录 ".$dir." 无法写入!",0);
exit();
}
$upfile=& $_files["$file_var"];
$upfilename =  $upfile['name'];
if (!($upfilename===''))
{
if (!is_uploaded_file($upfile['tmp_name']))
{
showmsg('上传图片失败:你选择的文件无法上传',0);
exit();
}
if ($max_size>0 && $upfile['size']/1024>$max_size)
{
showmsg("上传图片失败:文件大小不能超过  ".$max_size."kb",0);
exit();
}
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type==='') && strpos($type, $ext_name)===false)
{
showmsg("上传图片失败:只允许上传 ".$type." 的文件!",0);
exit();
}
($name==true)?$uploadname=time().mt_rand(100,999).".".$ext_name :'';
($name==false)?$uploadname=$upfilename:'';
!is_bool($name)?($uploadname=$name.".".$ext_name):'';
//$uploadname = $name ? md5(uniqid(rand())).".".$ext_name : $upfilename;
if (!move_uploaded_file($upfile['tmp_name'], $dir.$uploadname))
{
showmsg('上传图片失败:文件上传出错!',0);
 exit();
}
return $uploadname;
}
else
{
return '';
}
}
?>

[!--infotagslink--]

相关文章

  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • c#读取excel方法实例分析

    这篇文章主要介绍了c#读取excel方法,实例分析了C#读取excel文件的原理与相关技巧,需要的朋友可以参考下...2020-06-25
  • Python导入数值型Excel数据并生成矩阵操作

    这篇文章主要介绍了Python导入数值型Excel数据并生成矩阵操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-09
  • C# winform打开Excel文档的方法总结(必看篇)

    下面小编就为大家带来一篇C# winform打开Excel文档的方法总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C# 导出Excel的6种简单方法实现

    C# 导出 Excel 的6种简单方法:数据表导出到 Excel,对象集合导出到 Excel,数据库导出到 Excel,微软网格控件导出到 Excel,数组导出到 Excel,CSV 导出到 Excel,你都会了吗?需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#实现Excel表数据导入Sql Server数据库中的方法

    这篇文章主要介绍了C#实现Excel表数据导入Sql Server数据库中的方法,结合实例形式详细分析了C#读取Excel表数据及导入Sql Server数据库的具体操作步骤与相关操作技巧,需要的朋友可以参考下...2020-06-25
  • C#实现将数据导出到word或者Excel中的方法

    这篇文章主要介绍了C#实现将数据导出到word或者Excel中的方法,涉及C#操作word及Excel格式文件的方法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#使用Ado.Net更新和添加数据到Excel表格的方法

    这篇文章主要介绍了C#使用Ado.Net更新和添加数据到Excel表格的方法,较为详细的分析了OLEDB的原理与使用技巧,可实现较为方便的操作Excel数据,需要的朋友可以参考下...2020-06-25
  • R语言导入导出数据的几种方法汇总

    这篇文章主要给大家总结介绍了R语言导入导出数据的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • C#使用Aspose.Cells创建和读取Excel文件

    这篇文章主要为大家详细介绍了C#使用Aspose.Cells创建和读取Excel文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • C#使用oledb导出数据到excel的方法

    这篇文章主要介绍了C#使用oledb导出数据到excel的方法,结合实例形式分析了C#操作oledb导出数据的相关技巧与注意事项,需要的朋友可以参考下...2020-06-25
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • yii添删改查实例

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • C#操作excel打印的示例

    这篇文章主要介绍了C#操作excel打印的示例,帮助大家利用c#打印表格,提高办公效率,感兴趣的朋友可以了解下...2020-12-08
  • C#删除Excel中的图片实例代码

    在本篇文章里小编给大家分享了关于C#删除Excel中的图片的实例代码内容,有兴趣的朋友们参考学习下。...2020-06-25
  • C#使用Aspose.Cells控件读取Excel

    本文介绍Aspose.Cells基础的用法,供大家参考。...2020-06-25
  • C#中将ListView中数据导出到Excel的实例方法

    首先 你需要添加引用Microsoft Excel 11.0 Object Library...2020-06-25
  • python3 循环读取excel文件并写入json操作

    这篇文章主要介绍了python3 循环读取excel文件并写入json操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-14