TP6引入PHPExcel,需要用composer下载PHPExcel类库
参数:$file_excel,是从控制器传入的文件路径参数,文件上传参考的的是官方文档中的上传示例
<?php
namespace app\model;
use PHPExcel_IOFactory;
use think\Model;
use think\facade\Db;
class Admin extends Model
{
public function insertGoods($file_excel)
{
$fileName = "./storage/" . $file_excel;
if (!file_exists($fileName)) {
exit("文件" . $fileName . "不存在");
}
$objPHPExcel = PHPExcel_IOFactory::load($fileName);
$sheetCount = $objPHPExcel->getSheetCount();
$sheetSelected = 0;
$objPHPExcel->setActiveSheetIndex($sheetSelected);
$rowCount = $objPHPExcel->getActiveSheet()->getHighestRow();
$columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn();
$dataArr = array();
for ($row = 2; $row <= $rowCount; $row++) {
$n = 0;
for ($column = 'A'; $column <= $columnCount; $column++) {
$dataArr[$row][$column] = $objPHPExcel->getActiveSheet()->getCell($column . $row)->getValue();
}
}
$goods = [];
foreach ($dataArr as $k => $v) {
$goods[$k]['goods_id'] = $v['D'];
$goods[$k]['goods_name'] = $v['C'];
$goods[$k]['order_amount'] = $v['K']*100;
}
$insert_num = Db::name('goods')
->limit(100)
->insertAll($goods);
return $insert_num;
}
}