php excel 设置常规_php实现的操作excel类详解
本文实例讲述了php实现的操作excel类。分享给大家供大家参考,具体如下:
class Excel
{
static $instance=null;
private $excel=null;
private $workbook=null;
private $workbookadd=null;
private $worksheet=null;
private $worksheetadd=null;
private $sheetnum=1;
private $cells=array();
private $fields=array();
private $maxrows;
private $maxcols;
private $filename;
//构造函数
private function Excel()
{
$this->excel = new COM("Excel.Application") or die("Did Not Connect");
}
//类入口
public static function getInstance()
{
if(null == self::$instance)
{
self::$instance = new Excel();
}
return self::$instance;
}
//设置文件地址
public function setFile($filename)
{
return $this->filename=$filename;
}
//打开文件
public function Open()
{
$this->workbook=$this->excel->WorkBooks->Open($this->filename);
}
//设置Sheet
public function setSheet($num=1)
{
if($num>0)
{
$this->sheetnum=$num;
$this->worksheet=$this->excel->WorkSheets[$this->sheetnum];
$this->maxcols=$this->maxCols();
$this->maxrows=$this->maxRows();
$this->getCells();
}
}
//取得表所有值并写进数组
private function getCells()
{
for($i=1;$imaxcols;$i++)
{
for($j=2;$jmaxrows;$j++)
{
$this->cells[$this->worksheet->Cells(1,$i)->value][]=(string)$this->worksheet->Cells($j,$i)->value;
}
}
return $this->cells;
}
//返回表格内容数组
public function getAllData()
{
return $this->cells;
}
//返回制定单元格内容
public function Cell($row,$col)
{
return $this->worksheet->Cells($row,$col)->Value;
}
//取得表格字段名数组
public function getFields()
{
for($i=1;$imaxcols;$i++)
{
$this->fields[]=$this->worksheet->Cells(1,$i)->value;
}
return $this->fields;
}
//修改制定单元格内容
public function editCell($row,$col,$value)
{
if($this->workbook==null || $this->worksheet==null)
{
echo "Error:Did Not Connect!";
}else{
$this->worksheet->Cells($row,$col)->Value=$value;
$this->workbook->Save();
}
}
//修改一行数据
public function editOneRow($row,$arr)
{
if($this->workbook==null || $this->worksheet==null || $row>=2)
{
echo "Error:Did Not Connect!";
}else{
if(count($arr)==$this->maxcols-1)
{
$i=1;
foreach($arr as $val)
{
$this->worksheet->Cells($row,$i)->Value=$val;
$i++;
}
$this->workbook->Save();
}
}
}
//取得总列数
private function maxCols()
{
$i=1;
while(true)
{
if(0==$this->worksheet->Cells(1,$i))
{
return $i;
break;
}
$i++;
}
}
//取得总行数
private function maxRows()
{
$i=1;
while(true)
{
if(0==$this->worksheet->Cells($i,1))
{
return $i;
break;
}
$i++;
}
}
//读取制定行数据
public function getOneRow($row=2)
{
if($row>=2)
{
for($i=1;$imaxcols;$i++)
{
$arr[]=$this->worksheet->Cells($row,$i)->Value;
}
return $arr;
}
}
//关闭对象
public function Close()
{
$this->excel->WorkBooks->Close();
$this->excel=null;
$this->workbook=null;
$this->worksheet=null;
self::$instance=null;
}
};
/*
$excel = new COM("Excel.Application");
$workbook = $excel->WorkBooks->Open('D://Apache2//htdocs//wwwroot//MyExcel.xls');
$worksheet = $excel->WorkSheets(1);
echo $worksheet->Cells(2,6)->Value;
$excel->WorkBooks->Close();
*/
$excel=Excel::getInstance();
$excel->setFile("D://kaka.xls");
$excel->Open();
$excel->setSheet();
for($i=1;$i<16;$i++ )
{
$arr[]=$i;
}
//$excel->editOneRow(2,$arr);
//print_r($excel->getAllData());
$str=$excel->getAllData();
include_once('mail.class.php');
$smtpserver="smtp.yeah.net";
$smtpserverport=25;
$smtpuseremail="yanqihu58@yeah.net";
$smtpemailto="yanqihu@139.com";
$smtpuser="yanqihu58";
$smtppwd="123456789";
$mailtype="HTML";
$smtp=new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppwd);
$message="你好";
//$message.="首页连接地址为:".$this->link_url."
";
//$message.="电子邮箱为:".$this->link_email."
";
//$message.="商务联系QQ:".$this->link_qq."
";
//$message.="商务电话QQ:".$this->link_tel."
";
//$message.="联系人:".$this->link_people."
";
$smtp->debug=false;
foreach($str['email'] as $key=>$value){
$smtpemailto=$value;
@$smtp->sendmail($smtpemailto,$smtpuseremail,$mailsubject,$message,$mailtype);
exit;
}
//exit;
$excel->Close();
?>
希望本文所述对大家PHP程序设计有所帮助。
php excel 设置常规_php实现的操作excel类详解相关推荐
- android 最新消息滚动,Android 滚动操作Scroller类详解
Scroller这个类理解起来有一定的困难,刚开始接触Scroller类的程序员可能无法理解Scroller和View系统是怎么样联系起来的.我经过自己的学习和实践,对Scroller的用法和工作原理 ...
- 计划任务计算机怎么进入,windows7计划任务如何设置?windows7计划任务操作步骤图文详解...
尽管win7系统已经停止服务了,但还是有很多朋友使用.在Windows7系统中,有一个计划任务的功能,它可以将任何脚本.程序或文档安排在某个最方便的时间运行.你可以简单的理解为定时定点帮你开启程序文档 ...
- java excel api 下载文件_Java-Excel Java操作Excel POI(Jakarta POI API) - 下载 - 搜珍网
Java操作Excel/Jakarta POI API/data/Jakarta POI API.doc Java操作Excel/Jakarta POI API/jar/poi-3.0.2-FINAL ...
- pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解
php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...
- 兄弟机cnc系统面板图解_数控机床操作面板图文详解
<数控机床操作面板图文详解>由会员分享,可在线阅读,更多相关<数控机床操作面板图文详解(53页珍藏版)>请在人人文库网上搜索. 1.数 控 车 床 编 程 和 操 作(一) 熟 ...
- Python零基础速成班-第14讲-Python处理Excel和Word,使用openpyxl和docx包详解,图表入门
Python零基础速成班-第14讲-Python处理Excel和Word,使用openpyxl和docx包详解,图表入门 学习目标 Python处理Excel(使用openpyxl包).图表入门\ P ...
- 2013河北省职称计算机应用能力考试操作题答案,2013河北省职称计算机应用能力考试操作题步骤详解(部分).doc...
2013河北省职称计算机应用能力考试操作题步骤详解(部分) 2013河北省职称计算机应用能力考试操作题步骤详解PAGE PAGE - 11 - 共 NUMPAGES 11页操作题PPT 1-5PPT操 ...
- php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解
本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...
- 2013河北省职称计算机应用能力考试操作题答案,(2013河北省职称计算机应用能力考试操作题步骤详解PPT部分.doc...
(2013河北省职称计算机应用能力考试操作题步骤详解PPT部分 操作题PPT 1-5 PPT操作练习一 打开PPT文件夹下的"PPT_1.PPT"演示文稿文件,然后进行如下操作: ...
最新文章
- 轻量应用服务器MySQL远程连接踩坑
- Android 异常: failed to connect to localhost/127.0.0.1
- 小米造车150天:烈火烹油第一枪
- 5弹出搜索框_实用小技巧,电脑总是弹出广告,手把手教你永久关闭广告弹窗...
- EasyJWeb-Velocity脚本简明教程
- ros和java通讯_ROS学习之路(二)——通信架构(上)
- AOP in Asp.net MVC
- eclipse启动出现“An Error has Occurred. See the log file”解决方法
- ASP+Access数据库的终极安全大法18则(原创)
- 2016-11-15NOIP模拟赛
- 微信公众号 第三方登录 获取微信用户信息(java版)
- websocket 服务器外网访问
- mysql经典45道题_MySQL查询 45道练习题
- 一个javaweb基础的小游戏。。俄罗斯方块。。。
- 专访STEM领域人才资深人工智能图像算法工程师张旦
- 中国报纸今年十大流行语发布:虐俘和审计风暴
- 大端小端存储方式详解
- 解决Edge默认打开PDF内存不足
- 电信宽带连接不上无线可连接服务器,我家装的是电信的宽带,能连上无线网络,但是就是不能上网连接的信号也是非常好,请问是什么问题...
- 打开命令行窗口的方式
热门文章
- 【Java】数据结构——队列(图文)
- 外部jar包_大数据系列之PySpark读写外部数据库
- java泛型_Java核心知识 基础五 JAVA 泛型
- java+fseek+函数_函数fseek() 用法(转)
- mysql二级缓存,mybatis的动态sql和二级缓存
- visio2013复制到word有多余白边_学习工坊(一)|实用技巧之Word篇
- cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...
- C语言如何编辑资源文件,用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件...
- python刷新_如何在python中刷新输入流?
- php5.4源码下载,WordPress v5.4.2官方正式版源码下载