由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题。
PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Library/Org/Util下,PHPExcel.php修改为PHPExcel.class.php。
function
rewardsExcel(
$fileURL
) {
//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能import导入
$filesInfo
=
explode
(
'.'
,
$fileURL
);
import(
"Org.Util.PHPExcel"
);
//判断excel版本,导入不同文件
if
(
$filesInfo
[1] ==
'xls'
) {
//如果excel文件后缀名为.xls,导入这个类
import(
"Org.Util.PHPExcel.Reader.Excel5"
);
$PHPReader
=
new
\PHPExcel_Reader_Excel5();
}
else
{
//如果excel文件后缀名为.xlsx,导入这个类
import(
"Org.Util.PHPExcel.Reader.Excel2007"
);
$PHPReader
=
new
\PHPExcel_Reader_Excel2007();
}
//载入文件
$fileURL
=
'.'
.
$fileURL
;
$PHPExcel
=
$PHPReader
->load(
$fileURL
);
//获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$currentSheet
=
$PHPExcel
->getSheet(0);
// $allColumn = $currentSheet->getHighestColumn(); //获取总列数
$allRow
=
$currentSheet
->getHighestRow();
//获取总行数
//导入PHPExcel.Shared.Date 用以处理时间类型
import(
"Org.Util.PHPExcel.Shared.Date"
);
$Shared_Date
=
new
\PHPExcel_Shared_Date();
//循环获取表中的数据,
for
(
$Row
= 2;
$Row
<=
$allRow
;
$Row
++) {
$List
[] =
array
(
'user_id'
=>
$currentSheet
->getCell(
'A'
.
$Row
)->getValue();
'title'
=>
$currentSheet
->getCell(
'B'
.
$Row
)->getValue(),
'organization'
=>
$currentSheet
->getCell(
'C'
.
$Row
)->getValue(),
'status'
=> 2,
'content'
=>
$currentSheet
->getCell(
'D'
.
$Row
)->getValue(),
'money'
=>
$currentSheet
->getCell(
'E'
.
$Row
)->getValue(),
'get_time'
=>
$Shared_Date
->ExcelToPHP(
$currentSheet
->getCell(
'F'
.
$Row
)->getValue())
//日期格式转换
);
}
return
$List
;
}