控制器页面
public function upfile(){ if(isset($_FILES['image'])){ $image = $_FILES['image']; $filename = time().substr($image['name'],strripos($image['name'],'.')); //var_dump($image); $path = './upload/'.$filename; //move_uploaded_file 移动上传过文件 第一个参数 临时文件的名字 ,要新生成的文件的路径和名字 move_uploaded_file($image['tmp_name'],$path); //要把excel 转化成数组 $e = $this->readExcel($path); var_dump($e); // $this->redirect('index?filename='.$filename); } // $this->redirect('index'); } function readExcel($path){ //引入PHPExcel类库 include(IWEB_PATH.'core/util/PHPExcel.php'); include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php'); $type = 'Excel5';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版 $xlsReader = PHPExcel_IOFactory::createReader($type); $xlsReader->setReadDataOnly(true); $xlsReader->setLoadSheetsOnly(true); $Sheets = $xlsReader->load($path); //开始读取上传到服务器中的Excel文件,返回一个二维数组 $dataArray = $Sheets->getSheet(0)->toArray(); // var_dump($dataArray);die; return $dataArray; } public function getimage($filename){ } public function test_report(){ include(IWEB_PATH.'core/util/PHPExcel.php'); include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php'); $objPHPExcel = new PHPExcel(); /*以下是一些设置 ,什么作者 标题啊之类的*/ $objPHPExcel->getProperties()->setCreator("转弯的阳光") ->setLastModifiedBy("转弯的阳光") ->setTitle("数据EXCEL导出") ->setSubject("数据EXCEL导出") ->setDescription("备份数据") ->setKeywords("excel") ->setCategory("result file"); //测试数据 $data =array( array('uid' => 1,'email' => '123@123.com','password'=>'123456'), array('uid' => 2,'email' => '456@123.com','password'=>'123456'), array('uid' => 3,'email' => '789@123.com','password'=>'123456') ); /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/ foreach($data as $k => $v){ $num=$k+1; $objPHPExcel->setActiveSheetIndex(0) //Excel的第A列,uid是你查出数组的键值,下面以此类推 ->setCellValue('A'.$num, $v['uid']) //A1 A2 ->setCellValue('B'.$num, $v['email']) ->setCellValue('D'.$num, $v['password']); } $objPHPExcel->getActiveSheet()->setTitle('User'); $objPHPExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.time().'.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; } function _readExcel($path){ //引入PHPExcel类库 include(IWEB_PATH.'core/util/PHPExcel.php'); include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php'); include(IWEB_PATH.'core/util/PHPExcel/Reader/Excel5.php'); $type = 'Excel5';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版 $xlsReader = PHPExcel_IOFactory::createReader($type); $xlsReader->setReadDataOnly(true); $xlsReader->setLoadSheetsOnly(true); $Sheets = $xlsReader->load($path); //开始读取上传到服务器中的Excel文件,返回一个二维数组 $dataArray = $Sheets->getSheet(0)->toArray(); return $dataArray; } public function testExcel(){ include(IWEB_PATH.'core/util/PHPExcel.php'); include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php'); $excelObj = new PHPExcel(); var_dump($excelObj); //echo 1; } }htm模板页面
{set:
$filename = $_GET['filename'];
}
<!--{if:$filename}-->
<!--<script type="text/javascript" src="http://www.image.com/getimage.php?filename={$filename}"></script>-->
<!--{/if}-->
<form action="{url:/test/upfile}" method="post" enctype="multipart/form-data">
<table>
<tr>
<th>同步上传测试:</th>
<td>
<input name='image' type="file" />
<label>大小不得超过{echo:IUpload::getMaxSize()}</label>
</td>
</tr>
<tr><td>
<input type="submit" value="提交" />
</td>
</tr>
</table>
</form>
引入文件需个人自己寻找【PHPExcel官网】请支持正版

本文介绍了一个使用PHP处理Excel文件的实例,包括文件上传、解析Excel数据及生成Excel文件的方法。通过PHPExcel库实现Excel文件的数据读取与写入。
1068

被折叠的 条评论
为什么被折叠?



