使用PHPExcel读取写入Excel文件数据

本文介绍如何使用PHPExcel库在PHP中实现Excel文件的数据读取和写入操作。包括PHPExcel对象的创建、读取Excel文件内容、解析数据到数组、以及将数据写入新的Excel文件并保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先是读取Excel

引入PHPExcel类文件

require_once('PHPExcel-1.8/Classes/PHPExcel.php');  
require_once('PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php'); 


创建新对象,并打开数据文件

$objPHPExcel = new PHPExcel();  
$objReader = new PHPExcel_Reader_Excel2007;  
$objPHPExcel = $objReader->load("aaa.xlsx");  


开始读取数据

//选择标签页
$sheet = $objPHPExcel->getSheet(0);//第一个工作簿

//获取行数与列数,注意列数需要转换
$highestRowNum = $sheet->getHighestRow();//行数
$highestColumn = $sheet->getHighestColumn();//列数
$highestColumnNum = PHPExcel_Cell::columnIndexFromString($highestColumn);//)://由列名转化为列索引数字 'A->0,Z->25'  

//取得字段,这里测试表格中的第一行为数据的字段,因此先取出用来作后面数组的键名
$filed = array();
for($i=0; $i<$highestColumnNum;$i++){
	$cellName = PHPExcel_Cell::stringFromColumnIndex($i).'1';//由列数反转列名(0->'A')
	$cellVal = $sheet->getCell($cellName)->getValue();//取得列内容
	$filed []= $cellVal;
}

//开始取出数据并存入数组
$data = array();
$num = 1;
for($i=2;$i<=$highestRowNum;$i++){//ignore row 1
	$row = array();
	for($j=0; $j<$highestColumnNum;$j++){
	  $cellName = PHPExcel_Cell::stringFromColumnIndex($j).$i;
	  $cellVal = $sheet->getCell($cellName)->getValue();
	  $row[ $filed[$j] ] = $cellVal;
	}
	//print_r($row['标题']);
	$data []= $row;
}


 

下面是写入数据库

写入数据库和读取数据库大同小异。直接贴代码

require_once('PHPExcel-1.8/Classes/PHPExcel.php');  
require_once('PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php'); 

 $objPHPExcel = new PHPExcel();                     //实例化一个PHPExcel()对象
 $objSheet = $objPHPExcel->getActiveSheet();        //选取当前的sheet对象
 $objSheet->setTitle('helen');                      //对当前sheet对象命名


 //常规方式:利用setCellValue()填充数据
 //$objSheet->setCellValue("A1","张三")->setCellValue("B1","李四");   //利用setCellValues()填充数据
 $objSheet->setCellValue('A1','序号')->setCellValue('B1','晒课ID')->setCellValue('C1', '晒课访问地址')->setCellValue('D1','晒课名称')->setCellValue('E1','学科')->setCellValue('F1','版本')->setCellValue('G1','册')->setCellValue('H1','节点')->setCellValue('I1','教师')->setCellValue('J1','省')->setCellValue('K1','市')->setCellValue('L1','区县')->setCellValue('M1','学校')->setCellValue('N1','有课等级')->setCellValue('O1','是否有课堂实录')->setCellValue('P1','m3u8地址'); 

$sql = "select * from xiangyangshouyoukecheng where m3u8 =''";

$result = mysql_query($sql, $conn);

$j = 2;

while ($val = mysql_fetch_array($result)) {
	print_r($val['nianji'] ."  " . $j);
	$objSheet->setCellValue('A'.$j,$val['xuhao'])->setCellValue('B'.$j,$val['saikeID'])->setCellValue('C'.$j, $val['saikeUrl'])->setCellValue('D'.$j,$val['saikeName'])->setCellValue('E'.$j,$val['xueke'])->setCellValue('F'.$j,$val['banben'])->setCellValue('G'.$j,$val['ce'])->setCellValue('H'.$j,$val['jiedian'])->setCellValue('I'.$j,$val['jiaoshi'])->setCellValue('J'.$j,$val['sheng'])->setCellValue('K'.$j,$val['shi'])->setCellValue('L'.$j,$val['qvxian'])->setCellValue('M'.$j,$val['xuexiao'])->setCellValue('N'.$j,$val['dengji'])->setCellValue('O'.$j,$val['shilu'])->setCellValue('P'.$j,$val['m3u8']);  

	$j ++;

}

 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');   //设定写入excel的类型
 $objWriter->save('youke.xlsx');       //保存文件 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能-肥鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值