(用到phpexcel类)
1、遍历文件夹下的所有xls文件路径 (遍历目录那块可以写成传入目录参数的形式)
2、循环文件目录并将整个excel中的每个sheet转成html
/*
* excel转html
*/
public function excelToHtml()
{
vendor('PHPExcel.PHPExcel');
//这里引入PHPExcel类
//$filePath = '/data/web/xxx/Public/Uploads/salary/t.xls';
//$filePath = '/data/web/xxx/Public/Uploads/salary/excel (12)(3).xls';
$arr_files = $this->listFiles("/data/web/xxx/Public/Uploads/salary");
foreach($arr_files as $key=>$filePath){
$fileType = \PHPExcel_IOFactory::identify($filePath); //文件名自动判断文件类型
$objReader = \PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($filePath);
$sheetCount = $objPHPExcel->getSheetCount();
$re_sheetCount = $sheetCount -1 ; //sheet索引由0开始,总索引为总数-1
for($i=1;$i<=$re_sheetCount;$i++){
$savePath = "/data/web/xxx/Public/Uploads/ex_tohtml/".ordersn().".html"; //这里记得将文件名包含进去
$objWriter = new \PHPExcel_Writer_HTML($objPHPExcel);
$objWriter->setSheetIndex($i); //可以将括号中的0换成需要操作的sheet索引
$objWriter->save($savePath); //保存为html文件
}
}
echo 'over';
}
/*
* 遍历目录
*/
public function listFiles()
{
//strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
$path = "/data/web/xxx/Public/Uploads/salary";
$files = scandir($path);
$fileItem = [];
foreach($files as $v) {
$newPath = $path .DIRECTORY_SEPARATOR . $v;
if(is_dir($newPath) && $v != '.' && $v != '..') { //判断是否为系统隐藏的文件.和.. 如果是则跳过否则就继续往下走,防止无限循环再这里。
$fileItem = array_merge($fileItem, getDir($newPath));
}else if(is_file($newPath)){
$fileItem[] = $newPath;
}
}
return $fileItem;
}