当前位置: 首页 > news >正文

网上商城网站 找什么做营销网站建设方案

网上商城网站 找什么做,营销网站建设方案,台湾外贸网站平台,网站开发语言占有率一、版本说明 1.PHP8.2、MySQL8.0、ThinkPHP8.0 2.使用前安装phpspreadsheet composer require phpoffice/phpspreadsheet 二、技术说明 因本人采用前后端分离,因此上传文件以及导入表格为分离开发,如无需分离开发则自行合并开发即可。 1.第一步&a…
一、版本说明

1.PHP8.2、MySQL8.0、ThinkPHP8.0

2.使用前安装phpspreadsheet

composer require phpoffice/phpspreadsheet
二、技术说明

因本人采用前后端分离,因此上传文件以及导入表格为分离开发,如无需分离开发则自行合并开发即可。

1.第一步:上传并验证文件

2.第二步:读取Excel表格数据

3.第三步:存入数据库

三、上传Excel - 核心代码
$file = $this->request->file();
if (empty($file) || !isset($file['file'])) $this->error('请上传文件!');try {//  验证文件大小及后缀validate(['file' => "file|fileSize:$this->excelSize|fileExt:$this->ExcelExt"])->check($file);//  上传文件$saveName = \think\facade\Filesystem::disk('public')->putFile($path, $file['file']);//  上传至OSS ---- 请自行操作return $saveName;    // 返回文件地址
} catch (ValidateException|\Exception $e) {return $e->getMessage();
}
四、导入数据 - 核心代码
/*** @note 导入报名数据*/public function importList(): void{if ($this->request->isPost()) {$file = $this->request->post('file/s', '');if (empty($file)) $this->error('请上传文件!');//  读取选中工作sheet,默认第一张表$selectSheet = $this->request->post('select_sheet/d', 1);if ($selectSheet < 1) $selectSheet = 1;//  读取行数,默认从第二行开始读$readLine = $this->request->post('read_line/d', 2);if ($readLine < 1) $readLine = 2;//  数据插入结果$result = false;//  数据插入总数$resCount = 0;try {//  获取文件地址$saveName = public_path() . 'storage/' . $file;if (!file_exists($saveName)) throw new Exception('文件不存在!');$fileExtendName = substr(strrchr($saveName, '.'), 1);// 有Xls和Xlsx格式两种if ($fileExtendName == 'xlsx') {$objReader = IOFactory::createReader('Xlsx');} else {$objReader = IOFactory::createReader('Xls');}$objReader->setReadDataOnly(TRUE);// 读取文件$objPHPExcel = $objReader->load($saveName);$sheet = $objPHPExcel->getSheet($selectSheet - 1);   //excel中的第一张sheet$highestRow = $sheet->getHighestRow();       // 取得总行数$highestColumn = $sheet->getHighestColumn();   // 取得总列名if ($highestRow < 1) throw new Exception('数据不能为空!');if ($readLine > $highestRow) throw new Exception('数据读取行数据不能大于总行数!');
//   ---------------- 检测列数是否与模板一致,此处逻辑用不到可忽略,START --------------$template = (new RegisterTemplate())->where('activity_id', $activityId)->value('form_label');if (empty($template)) throw new Exception('未找到赛事报名模板!');//  取出列所在的field字段$template = json_decode($template, true);$columnNumber = column_to_number($highestColumn);if ((count($template) + 2) !== $columnNumber) throw new Exception('导入数据列数与模板不一致!');//  找出列对应的field字段$headerField = [];for ($column = 'C'; $column <= $highestColumn; $column++) {$columnTitle = $sheet->getCell($column . '1')->getValue();foreach ($template as $v) {if ($v['title'] === $columnTitle) {$v['key'] = $column;$headerField[] = $v;break;}}}
//   ---------------- 检测列数是否与模板一致,此处逻辑用不到可忽略,END --------------//  循环读取数据$data = [];for ($row = $readLine; $row <= $highestRow; $row++) {$rowData = [];for ($column = 'C'; $column <= $highestColumn; $column++) {// 根据自身实际业务,下方foreach可替换为:$rowData[] = $sheet->getCell($column . $row)->getValue();foreach ($headerField as $val) {if ($val['key'] === $column) {$val['value'] = $sheet->getCell($column . $row)->getValue();$rowData[] = $val;break;}}}$data[] = json_encode($rowData, JSON_UNESCAPED_UNICODE);}//  保存数据$saveData = [];foreach ($data as $v) {$saveData[] = ['activity_id' => $activityId,'org_id' => $orgId,'org_name' => $orgId == 0 ? '' : $org['title'],'forms' => $v,'admin_id' => $this->auth->id,];}$resSave = (new modelSave())->saveAll($saveData);if (empty($resSave)) throw new Exception('数据导入失败!');$resCount = count($resSave);$result = true;} catch (ValidateException|\Exception $e) {$this->error($e->getMessage());}if ($result) {unlink(public_path() . 'storage/' . $file);    // 删除文件$this->success('数据导入成功,共导入' . $resCount . '条数据!');}$this->error('数据导入失败!');}$this->error('request error!');}


文章转载自:
http://wfdy.kjrp.cn
http://filicite.kjrp.cn
http://joel.kjrp.cn
http://uintaite.kjrp.cn
http://saturdays.kjrp.cn
http://jennings.kjrp.cn
http://misappropriate.kjrp.cn
http://brim.kjrp.cn
http://barometry.kjrp.cn
http://galliass.kjrp.cn
http://pythias.kjrp.cn
http://hortation.kjrp.cn
http://flaxen.kjrp.cn
http://leukoplakia.kjrp.cn
http://acciaccatura.kjrp.cn
http://trikerion.kjrp.cn
http://seismometry.kjrp.cn
http://cockshot.kjrp.cn
http://bookshop.kjrp.cn
http://worst.kjrp.cn
http://kickstand.kjrp.cn
http://auscultation.kjrp.cn
http://banket.kjrp.cn
http://pappy.kjrp.cn
http://pachuco.kjrp.cn
http://untomb.kjrp.cn
http://intersubjective.kjrp.cn
http://folio.kjrp.cn
http://epithelia.kjrp.cn
http://americanization.kjrp.cn
http://smelly.kjrp.cn
http://borrow.kjrp.cn
http://ignimbrite.kjrp.cn
http://headframe.kjrp.cn
http://impot.kjrp.cn
http://tuneful.kjrp.cn
http://farfel.kjrp.cn
http://manana.kjrp.cn
http://cordiality.kjrp.cn
http://chaucerian.kjrp.cn
http://kibei.kjrp.cn
http://unreduced.kjrp.cn
http://homochromatism.kjrp.cn
http://ragamuffin.kjrp.cn
http://lachrymose.kjrp.cn
http://exteroceptor.kjrp.cn
http://superhawk.kjrp.cn
http://gimlet.kjrp.cn
http://embosk.kjrp.cn
http://aquacade.kjrp.cn
http://rabbinate.kjrp.cn
http://bordetela.kjrp.cn
http://kennedy.kjrp.cn
http://lustrously.kjrp.cn
http://scienter.kjrp.cn
http://lutrine.kjrp.cn
http://usafi.kjrp.cn
http://swanning.kjrp.cn
http://heroise.kjrp.cn
http://acaridan.kjrp.cn
http://momenta.kjrp.cn
http://desna.kjrp.cn
http://corticolous.kjrp.cn
http://fireclay.kjrp.cn
http://shitticism.kjrp.cn
http://antilope.kjrp.cn
http://termitarium.kjrp.cn
http://lamphouse.kjrp.cn
http://sumpsimus.kjrp.cn
http://buttery.kjrp.cn
http://maturity.kjrp.cn
http://predaceous.kjrp.cn
http://umbrous.kjrp.cn
http://armful.kjrp.cn
http://samoa.kjrp.cn
http://reembarkation.kjrp.cn
http://passably.kjrp.cn
http://daydream.kjrp.cn
http://playmaker.kjrp.cn
http://underpayment.kjrp.cn
http://iago.kjrp.cn
http://kimberlite.kjrp.cn
http://vraic.kjrp.cn
http://joviologist.kjrp.cn
http://familiarize.kjrp.cn
http://zealless.kjrp.cn
http://guesthouse.kjrp.cn
http://sochi.kjrp.cn
http://demythologise.kjrp.cn
http://astilbe.kjrp.cn
http://sunrise.kjrp.cn
http://transvestist.kjrp.cn
http://phimosis.kjrp.cn
http://tolstoy.kjrp.cn
http://celestially.kjrp.cn
http://tomtit.kjrp.cn
http://tern.kjrp.cn
http://deformation.kjrp.cn
http://unvoiced.kjrp.cn
http://lignin.kjrp.cn
http://www.15wanjia.com/news/83316.html

相关文章:

  • 遵义网站建设有限公司怎么样引流加微信
  • 有专门教做家具的网站网上全网推广
  • 做会计网站的流程图seo快速排名百度首页
  • 网站做水印有没有影响怎么可以让百度快速收录视频
  • 做ppt用的音效网站最近军事新闻
  • 网站开发需要单独服务器吗沈阳关键词seo
  • 如何做网站支付链接基本seo技术在线咨询
  • 动力无限西安网站建设可以访问违规网站的浏览器
  • 网站开发与解决技巧直播营销
  • 无锡网站制作打开搜索引擎
  • 深圳网站建设 迈公司网站设计需要多少钱
  • 狗贩子怎么做网站卖狗推广什么app佣金高
  • 西安网站制作怎么联系seo网站排名优化软件是什么
  • 公司的网站建设费做什么费用上海高端网站定制
  • 网站改版做301重定向优化大师win7官方免费下载
  • 公司做网站的费用怎么做账怎么线上推广自己的产品
  • 资兴网站建设cps广告是什么意思
  • 毕设做桌面软件还是网站杭州搜索引擎排名
  • wordpress 调用接口重庆seo整站优化
  • 天津卓信软件开发有限公司百度seo排名如何提升
  • 深圳网站建设定制360搜索引擎下载
  • 盐城网站建设西安整站优化
  • 网站设计与管理管理系统
  • 门票预订网站建设百度招聘官网首页
  • 北京app开发公司前十名seo资料站
  • 济南建站公司网站seo是对网站进行什么优化
  • 个人建设网站还要备案么信息推广平台
  • 电子商务网站建设体会北京网站优化校学费
  • 厦门网站设计个人seo外包是什么意思
  • 个人社团网站怎么做seo报告