第一步:安装excel,使用composer安装,我的是在window下,直接cmd切换到项目下面,输入
composer require phpoffice/phpexcel,然后就等待安装完成。如下图:

第二步:引入相关类
<?php
namespace app\admin\controller;
use app\admin\model\Bingli;
use app\admin\model\Moneyinfo;
use think\Controller;
use think\Validate;
use think\facade\Request;
use think\facade\Db;
use think\facade\Session;
use think\facade\View;
use PHPExcel_IOFactory; //这个是三方类
class Binglii extends Base
{
/*
* 批量导入数据详情
*/
public function upAgent(){
if(Request::param('html') == false){
// 获取表单上传文件
$file = request()->file('file');
if(empty($file)){
return json(['info'=>'请选择上传文件!','status'=>0]);
}
// 移动到框架应用根目录/public/upload/ 目录下,并修改文件名为时间戳
$savename = \think\facade\Filesystem::putFile('excel', $file, 'time');
// 文件名称
$info = explode('/', $savename);
$file = public_path().'public/upload/excel/'.$info['excel'];
//2022-08-25 补充,最近发现老是报错PHPExcel_IOFactory找不到,于是单独引入文件
require_once '../vendor/phpoffice/phpexcel/Classes/PHPExcel.php';
require_once '../vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php';
//导入
$objPHPExcel = PHPExcel_IOFactory::load($file); //获取sheet表格数目
//$objReader = PHPExcel_IOFactory::createReader('Excel5');
//$objPHPExcel = $objReader->load($file,$encode='utf-8');
$sheetCount = $objPHPExcel->getSheetCount(); //默认选中sheet0表
$sheetSelected = 0;
$objPHPExcel->setActiveSheetIndex($sheetSelected);
//获取表格行数
$rowCount = $objPHPExcel->getActiveSheet()->getHighestRow();
//获取表格列数
$columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn();
$dataArr = array();
/* 循环读取每个单元格的数据 */
for ($i = 2; $i <= $rowCount; $i++) {
$data['mi_num'] = $objPHPExcel->getActiveSheet()->getCell("D3")->getValue();
$data['mi_time'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getFormattedValue(); // getFormattedValue 获取本来的格式
$data['mi_chargeItems'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
$data['mi_unit'] = $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();
$data['mi_quantity'] = $objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue();
$data['mi_unitPrice'] = $objPHPExcel->getActiveSheet()->getCell("R".$i)->getValue();
$data['mi_money'] = $objPHPExcel->getActiveSheet()->getCell("V".$i)->getValue();
$data['mi_payC

本文介绍了如何在Windows环境下使用Composer安装PHPExcel库,详细步骤包括文件上传、批量导入Excel数据到数据库并进行CSV导出,以及Model类的实现。重点展示了如何处理Excel文件、数据解析和格式化的过程。
最低0.47元/天 解锁文章
1460

被折叠的 条评论
为什么被折叠?



