核心思想:
PHPExcel只是一个php的扩展,你也可以理解为一个工具包,里面有很多关于处理Excel的类,我们直接去调用就好。
准备工作,导入到出会使用到的函数:
//获取excel操作对象,其中$filePath表示excel文件的路径【一定要写正确,请勿使用 "/public/..." 这种直接用“/”表示的路径】
$objPHPExcel = PHPExcel_IOFactory::load($filePath);//获取工作表中第一个sheet对象【一个excel中可以有多个工作表即多个sheet】
$sheet=$objPHPExcel->getSheet(0);//获取当前excel中的sheet对象
$sheet=$objPHPExcel->getActiveSheet(0);//获取工作表中所有sheets对象
$sheets=$objPHPExcel->getAllSheets()//获取excel表格的总行数【编辑过的都算,包括表格中写了空格的空行】
$highestRow=$sheet->getHighestRow();//获取excel表格中的总列数
$highestColumn=$sheet->getHighestColumn();//将excel中的 A1 ,B1等转换为数字 , 0 ,1 ,...
$highestColumn= PHPExcel_Cell::columnIndexFromString('A1'); // ok, 0//将0,1,2,....等转换为 A1,B1,C1,....,
$cellName = PHPExcel_Cell::stringFromColumnIndex('0').1 //OK, A1//给 A1 等单元格设置值
$sheet->setCellValue('A1','hello');//根据坐标获取指定单元格的值
$sheet->getCellByColumnAndRow('0','0')->getValue()
引用phpexcel,直接放在thinkphp中的vendor目录下即可。
导出实例:
public function exportExcel($dataArr,$fieldArr)
{
if (empty($fieldArr) || empty($dataArr))
{
return;
}
$this->load->library('phpexcel/PHPExcel');
//创建PHPExcel对象
$obj = new PHPExcel();
//创建excel写入对象
$writer = new PHPExcel_Writer_Excel5($obj);
//得到当前工作表对象
$curSheet = $obj->getActiveSheet(0);
foreach($dataArr as $k => $v)
{
foreach($v as $kk => $vv)
{
$cellName = PHPExcel_Cell::stringFromColumnIndex($kk) . ($k+1);
$curSheet->setCellValue($cellName,$vv);
}
}
$fileName = date('YmdHis', time());
ob_end_clean();
header('Content-Type: application/vnd.ms-execl');
header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');
header('Cache-Control: max-age=0'); $writer->save('php://output');
}
读取数据
加载phpexcel类自动识别2003和2007以后的excel版本
获取excel表格中的值读取表格中的数据
网友评论