/**
* 导入excel到数据库
* @param string $db 数据库表名
* @param path string 文件名(路径)
* @return boolean
*/
function excelImport($db, $file) {
//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Writer.Excel5");
import("Org.Util.PHPExcel.IOFactory.php");
$PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();
if (!$PHPReader->canRead($file)) {
$PHPReader = new \PHPExcel_Reader_Excel5();
if (!$PHPReader->canRead($file)){
return false;
}
}
$E = $PHPReader->load($file);
$cur = $E->getSheet(0); // 读取excel第一个页
$end = $cur->getHighestColumn(); // 获得最大的列数
$line = $cur->getHighestRow(); // 获得最大总行数
// 获取数据数组
/* $info = array("title","transactiontype","money","datatime"); */
$info=array();
for ($row = 2; $row <= $line; $row ++) {
for ($column = 'A'; $column <= $end; $column ++) {
$val = $cur->getCellByColumnAndRow(ord($column) - 65, $row)->getValue();
$info[$row][] = $val;
}
}
$list=array();
$i=0;
foreach ($info as $key){
foreach ($key as $k1=>$value){
if($k1==0){
$k1="title";
}
if($k1==1){
$k1="transactiontype";
}
if($k1==2){
$k1="money";
}
if($k1==3){
$k1="datatime";
}
if($value=="收入"){
$value=1;
}
if($value=="支出"){
$value=2;
}
$value=str_replace("/","-",$value);
$list[$i][$k1]=$value;
}
echo "</br >";
$i++;
}
$DB = M($db);
$result = $DB->addAll($list);
if ($result) {
return true;
}
return false;
}
PHP 导入excel到数据库(简易版)
最新推荐文章于 2025-06-19 10:29:52 发布