phpexcel 读取含多个sheet的excel,将从数据库中检索出的数据分别写入该excel不同的sheet中 并导出该excel

1 篇文章 0 订阅
1 篇文章 0 订阅

下载phpexcel类库,解压将Class文件夹放入项目中。

 

<?php


header("Content-Type:text/html;   charset=utf-8");
header("Cache-Control:no-cache");

 

require_once("/lib/phpmailer/class.phpmailer.php");
require_once("/lib/phpmailer/class.smtp.php");

require_once 'Classes/PHPExcel.php';
require_once 'Classes\PHPExcel\Reader\Excel5.php';
require_once 'Classes/PHPExcel/Writer/Excel2007.php';
require_once 'Classes/PHPExcel/Writer/Excel5.php';
include_once 'Classes/PHPExcel/IOFactory.php';

//连接数据库,自己填入连接内容,这里连接的是mysql
$dbuser="";
$dbpwd="";
$dbhost="";
$dbdatabase="";
$db=mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就行了(非常重要)
mysql_select_db($dbdatabase,$db);
$i=0;


//读取已设置好的excel

$objPHPExcel = PHPExcel_IOFactory::load("excel_mode/dept.xls");//修改为自己的excel路径

 

//这里将数据写入第三个sheet中,每个sheet都设置值,则分别设置
$currentSheet1=$objPHPExcel->getSheet(2);

$mysql_net="select
n.id as '编号',
n.otherserial as '固定资产编号',
l.completename as '部门',
nt.name as '类型',
nm.name as '型号',
n.name as '名称',
m.name as '制造商',
n.comment as '批注',
u.realname as '用户',
u.firstname as '工号'
from glpi_networkequipments n
left join glpi_users u on u.id=n.users_id
left join glpi_locations l on n.locations_id=l.id
left join glpi_manufacturers m on n.manufacturers_id=m.id
left join glpi_networkequipmenttypes nt on n.networkequipmenttypes_id=nt.id
left join glpi_networkequipmentmodels nm on n.networkequipmentmodels_id=nm.id
where n.is_deleted=0   and n.locations_id='".$arr[5]."'
group by n.otherserial
";
$myresult_net=mysql_query($mysql_net,$db);
$i_net=0;
$j_net=1;


while($arr_net=mysql_fetch_array($myresult_net))
{
 /*----------从数据库读取数据--------------------*/
 $number_net=$j_net++;
 $name_net=$arr_net[1];
 $username_net=$arr_net[8];
 $gonghao_net=$arr_net[9];
 $deptment_net=$arr_net[2];
 $leixing_net=$arr_net[3];
 $xinghao_net=$arr_net[4];
 $netname_net=$arr_net[5];
 $make_net=$arr_net[6];


 /*-----------转码-----------*/
 $name_net=iconv("gbk","utf-8", $name_net);
 $username_net=iconv("gbk","utf-8", $username_net);
 $gonghao_net=iconv("gbk","utf-8", $gonghao_net);
 $deptment_net=iconv("gbk","utf-8", $deptment_net);
 $leixing_net=iconv("gbk","utf-8", $leixing_net);
 $xinghao_net=iconv("gbk","utf-8", $xinghao_net);
 $netname_net=iconv("gbk","utf-8", $netname_net);
 $make_net=iconv("gbk","utf-8", $make_net);

 $u1_net=$i_net+3;

 /*----------写入内容-------------*/
 $currentSheet1->getCell('a'.$u1_net)->setValue("$number_net");
 $currentSheet1->getCell('b'.$u1_net)->setValue("$name_net");
 $currentSheet1->getCell('c'.$u1_net)->setValue("$username_net $gonghao_net");
 $currentSheet1->getCell('d'.$u1_net)->setValue("$deptment_net");
 $currentSheet1->getCell('e'.$u1_net)->setValue("$leixing_net");
 $currentSheet1->getCell('f'.$u1_net)->setValue("$xinghao_net");
 $currentSheet1->getCell('g'.$u1_net)->setValue("$netname_net");
 $currentSheet1->getCell('h'.$u1_net)->setValue("$make_net");
 $i_net++;
}

 

//设置第一个sheet中A5的值为“hello world”

$currentSheet2=$objPHPExcel->getSheet(0);
$currentSheet2->getCell('A5')->setValue("hello world");

 

//写入到文件

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$outputFileName = "excel/dept.xls";//自行设置路径
$objWriter->save($outputFileName);


?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值