php生成 execel表格
<?php
class Excel{
var $header = "<?xml version="1.0" encoding="UTF-8"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">";
var $footer = "</Workbook>";
var $lines = array ();
var $worksheet_title = "Table1";
function addRow ($array) {
// 初始化列
$cells = "";
// foreach key -> write value into cells
foreach ($array as $k => $v):
// 加个字符串与数字的判断 避免生成的 excel 出现数字以字符串存储的警告
if(is_numeric($v)) {
// 防止首字母为 0 时生成 excel 后 0 丢失
if(substr($v, 0, 1) == 0) {
$cells .= "<Cell><Data ss:Type="String">" . $v . "</Data></Cell> ";
} else {
$cells .= "<Cell><Data ss:Type="Number">" . $v . "</Data></Cell> ";
}
} else {
$cells .= "<Cell><Data ss:Type="String">" . $v . "</Data></Cell> ";
}
endforeach;
// transform $cells content into one row
$this->lines[] = "<Row> " . $cells . "</Row> ";
}
function addArray ($array) {
// 返回数组并保存到单元格中去
foreach ($array as $k => $v):
$this->addRow ($v);
endforeach;
}
function setWorksheetTitle ($title) {
$title = preg_replace ("/[|:|/|?|*|[|]]/", "", $title);
// 取得标题长度
$title = substr ($title, 0, 31);
// 赋值
$this->worksheet_title = $title;
}
function generateXML ($filename) {
header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
header("Content-Disposition: inline; filename="" . $filename . ".xls"");
echo stripslashes ($this->header);
echo " <Worksheet ss:Name="" . $this->worksheet_title . ""> <Table> ";
echo "<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="110"/> ";
echo implode (" ", $this->lines);
echo "</Table> </Worksheet> ";
echo $this->footer;
}
}
/**
* CakePHP中使用方法
* 注意 ** cakePHP 配置文件 define('DEBUG', 0);
*
* vendor ('Excel');
* $doc = array (
* 0 => array ('中国', '中国人', '中国人民', '123456');
* );
* $xls = new Excel;
* $xls->addArray ( $doc );
* $xls->generateXML ("mytest");
*/
/**
* 非框架使用方法
*
* require_once('excel.php');
* $doc = array (
* 0 => array ('中国', '中国人', '中国人民', '123456');
* );
* $xls = new Excel;
* $xls->addArray ( $doc );
* $xls->generateXML ("mytest");
*/
?>
<?php
class Calendar{
/**
* @desc :简单的日历类,供大家学习
* @author :Allen Wu
* @Email :wukewei00o@126.com
* @Date :2008-09-12
* @version :v1.0
*/
/*定义变量年、月、日*/
private $year,$month,$day;
/*定义数组星期并初始化*/
private $week = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
/*定义数组月份并初始化*/
private $monthes = array("01"=>"一月",
"02"=>"二月",
"03"=>"三月",
"04"=>"四月",
"05"=>"五月",
"06"=>"六月",
"07"=>"七月",
"08"=>"八月",
"09"=>"九月",
"10"=>"十月",
"11"=>"十一月",
"12"=>"十二月"
);
function __construct(){
$year = isset($_POST['year']) ? $_POST['year'] : date('Y');
$month = isset($_POST['month']) ? $_POST['month'] : date('m');
$day = isset($_POST['day']) ? $_POST['day'] : date('d');
$this->set($year, $month, $day);
}
/**
* @desc 设置年、月、日的值
* @params String $year
* @params String $month
* @params String $day
* @return
*/
private function set($year, $month, $day){
$this->year = $year;
$this->month = $month;
$this->day = $day;
}
/**
* @desc 获取年、月、日的值并以数组形式返回
* @params Array $info
* @retrun Array
*/
function get(array $info){
$info = array('year' => $this->year,
'month'=> $this->month,
'day' => $this->day);
return $info;
}
/**
* @desc 获得指定日期的星期值
* @params String $year
* @params String $month
* @params String $day
* @return String
*/
private function getWeek($year, $month, $day){
$weekday = date("w",mktime(0,0,0,$month,$day,$year));
return $weekday;
}
/**
* 输出日历,有兴趣的可以改进!
* 其实这不是一个方法,不希望在类里出现html和样式
* 有兴趣的可以改进下!给大家起个抛砖引玉的作用
*
*/
public function out(){
$firstDay = $this->getWeek($this->year, $this->month, 1);
echo "<div style="margin:0;border:1 solid black;width:300;font:9pt">".
"<form action=$_SERVER[PHP_SELF] method="post" style="margin:0">".
"<select name="month" onchange="this.form.submit();">";
/*打印12个月*/
for($month = 1; $month <= 12; $month++){
$tmp = sprintf("%02d", $month);
if(strcmp($tmp, $this->month) == 0){
$select = "selected style="background-color:#c0c0c0"";
}else{
$select = "";
}
echo "<option value="$tmp" $select>".$this->monthes[$tmp]."</option>rn";
}
echo "</select><select name="year" onchange="this.form.submit();">";
/*打印年份,前后10年*/
for($year = $this->year - 10; $year < $this->year + 10; $year++){
if($year > 2037){break;}
if($year < 1970){continue;}
if(strcmp($year, $this->year) == 0){
$select = "selected style="background-color:#c0c0c0"";
}else{
$select = "";
}
echo "<option value="$year" $select>$year</option>rn";
}
echo "</select></form><table border=0 align=center>";
/*打印星期标头*/
for($week = 0; $week < count($this->week); $week++){
echo "<td>".$this->week[$week];
}
/*打印所有日期*/
for($tmpd = 1; $tmpd <= date("t",mktime(0,0,0,$this->month,$this->day,$this->year)); $tmpd++){
if(strcmp($tmpd, $this->day) == 0){ //获得当前日期,做标记
$flag="bgcolor='#ff0000'";
}else{
$flag=" bgcolor='#ffffff'";
}
if($tmpd == 1){
echo "<tr>"; //补充打印
for($i = 0; $i < $firstDay; $i++){
echo "<td>";
}
}
if(strcmp($this->getWeek($this->year, $this->month, $tmpd), 0) == 0){
echo "<tr><td align=center $flag>$tmpd";
}else{
echo "<td align=center $flag>$tmpd";
}
}
echo "</table></div>";
}
}
$obj = new Calendar();
$obj->out();
?>
php 模拟登陆$url = "http://www.discuz.net/";
$useragent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TheWorld)";
$cookie = "dznet_cookietime=2592000;dznet_onlineusernum=7816;dznet_sid=QtlC87;dznet_auth=6bbeCQrzGv4eliNMLgU%2FlGZSpzbrsauGO1l0OBp6VQw5p0bcEg0xd4slYCM2ks%2FL0YCVYSO7XP2z8GMaxkPDUbXZCWft;checkpm=1";
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_REFERER, "http://www.discuz.net/index.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
curl_exec($ch);
$tempCn = curl_multi_getcontent($ch);
curl_close($ch);
echo $tempCn;
function makeDirectory($directoryName) {
$directoryName = str_replace("","/",$directoryName);
$dirNames = explode('/', $directoryName);
$total = count($dirNames) ;
$temp = '';
for($i=0; $i<$total; $i++) {
$temp .= $dirNames[$i].'/';
if (!is_dir($temp)) {
$oldmask = umask(0);
if (!mkdir($temp, 0777)) exit("不能建立目录 $temp");
umask($oldmask);
}
}
return true;
}
ajax验证用户名二
<?php
header("Content-type:text/html;charset=gb2312");
require_once('inc/connect.php');
$xm=isset($_GET['txt'])?$_GET['txt']:'null';
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $xm)){
echo("<div id='error'>对不起,不能使用中文作为用户名! </div>");
exit();
}
if($xm=='null' || $xm=='' || strlen($xm)>10 || strlen($xm)<3){
echo("<div id='error'>对不起,用户由3-12Aa_zZ及数字组成! </div>");
exit();
}else{
$result=mysql_query("select m_uid from wk_member where m_uid='$xm' ") or die('Error !'.mysql_error());
if(!mysql_num_rows($result)){
echo("<div id='success'><font color=red> 恭喜你!此用户可以注册!</font> </div>");
}else{
echo("<div id='error'>对不起,用户己被注册请选择其它名称!</div>");
}
}
?>
本站原创: www.111cn.net
相关文章
- 本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
java 画pdf用itext调整表格宽度、自定义各个列宽的方法
这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31- 这篇文章主要介绍了C#实现动态生成表格的方法,是C#程序设计中非常实用的技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
- 关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
- 经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
- 本文主要介绍了element表格行列拖拽的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-02
- 这篇文章主要介绍了基于jquery实现表格无刷新分页,功能实现了前端排序功能,增加了前端搜索功能,感兴趣的小伙伴们可以参考一下...2016-01-08
- 这篇文章主要介绍了Vue 自适应高度表格的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-14
- js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
vue 中使用 vxe-table 制作可编辑表格的使用过程
这篇文章主要介绍了vue 中使用 vxe-table 制作可编辑表格的使用过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-13- 这篇文章主要为大家详细介绍了JavaScript实现动态生成表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-02
- 这篇文章主要介绍了BootStrap和jQuery相结合实现可编辑表格的相关资料,需要的朋友可以参考下...2016-04-23
- 验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
- 复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
- 这篇文章主要为大家详细介绍了vue.js表格分页示例,ajax异步加载数据...2016-10-20
- 这篇文章主要介绍了基于elementUI竖向表格、和并列的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-26
- 本篇文章是对使用c#在word文档中创建表格的方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25