通过PHPExcel将Excel表文件中数据导入数据库
1 <?php
2 header("Content-Type:text/html;charset=utf-8");
3 include_once 'PHPExcel.php';
4 include_once 'PHPExcel/IOFactory.php';
5
6 set_time_limit(600);
7 //文件的目录
8 $dir = './files/';
9 $array = scandir($dir);//列出指定路径中的文件和目录
10 $count = 3832;
11 $p = $_GET['p'];
12 if($p <= 1) {
13 $p = 1;
14 }
15 $countP = $p + 5;
16 $countP = $countP > $count ? $count : $countP;
17
18 for($i = $p; $i<$countP; $i++) {
19 $reader = PHPExcel_IOFactory::createReader('Excel5');
20 // $resource = $dir . '3815.xls';
21 $resource = $dir . $i . '.xls';
22 //echo $resource;
23 $PHPExcel = $reader->load($resource); // 文件名称
24 $sheet = $PHPExcel->getSheetByName('低压线路');//文件下的一个sheet表
25 $highestRow = $sheet->getHighestRow(); // 取得总行数
26 //echo $highestRow.'<br>';
27 //连接数据库
28 $dsn = "mysql:host=localhost;dbname=data_info";
29 $username = "root";
30 $passwd = "";
31 $pdo = new PDO($dsn, $username, $passwd);
32 $pdo->query("SET NAMES utf8");
33
34 for ($j = 4; $j <= $highestRow; $j++) {
35 //取出数据
36 //getCellByColumnAndRow(参数1,参数2)->getValue(); ————获取某行某列的数据值
37 //其中: 参数1:列的位置 参数2: 行的位置
38 $name = $sheet->getCellByColumnAndRow(3, $j)->getValue();
39 $id = $sheet->getCellByColumnAndRow(7, $j)->getValue();
40 $byq = $sheet->getCellByColumnAndRow(8, $j)->getValue();
41 $bz = $sheet->getCellByColumnAndRow(11, $j)->getValue();
42 $time = $sheet->getCellByColumnAndRow(13, $j)->getValue();
43 if ($name) {
44 $sql = "insert into low_line_copy(circuit_name, trans_id, trans_name, maintain_group, `time`) values
45 ('" . $name . "','" . $id . "','" . $byq . "','" . $bz . "','" . $time . "'); \n";
46 echo $sql . '<br>';
47 //指定数据存到文件中
48 file_put_contents('./a.txt', $i . ',' . $sql . "\r\n", FILE_APPEND);
49 }
50 //$pdo->exec($sql);
51 }
52 unset($reader);
53 }
54 ?>
55 <script>
56 //每页执行5条,之后跳转
57 location.href = "1.php?p=<?=($i);?>";
58 </script>
通过PHPExcel将Excel表文件中数据导入数据库的更多相关文章
- SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)
读取Excale表返回一个集合: package com.shiliu.game.utils; import java.io.File; import java.io.FileInputStream; ...
- 将Excel中数据导入数据库(一)
在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...
- 将Excel中数据导入数据库(三)
上篇文章将Excel中数据导入数据库时,将从Excel读入的数据均转换成了数据库相应字段的类型,其实这是没有必要的,因为对于数据库各种类型的插入,均可以字符串格式插入.比如表WQ_SWMSAR_A字段 ...
- 将Excel中数据导入数据库(二)
在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...
- excel文档中数据导入sql server注意事项
进来经常需要对一些基础数据进行更新,而业务方提供的数据源往往都是excel,所以经常需要将excel中数据导入到 数据库临时表,然后再进行处理. 在导入过程中,发现有些数据比如手机号码,如果默认导入, ...
- SQL语句:把Excel文件中数据导入SQL数据库中的方法
1.从Excel文件中,导入数据到SQL数据库情况一.如果接受数据导入的表不存在 select * into jd$ from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ...
- SpringBoot通过Ajax批量将excel中数据导入数据库
Spring Boot通过Ajax上传Excel并将数据批量读取到数据库中 适合场景:需要通过excel表格批量向数据库中导入信息 操作流程 [1]前端上传一个excel表格 [2] 后端接收这个ex ...
- 怎么把excel表格内的数据导入数据库?
第一种方法: 思路:想要把excel表格内的数据直接导入数据库不是那么容易,可以把excel表格另存为.csv格式的文档(特点:内容以逗号分割):然后通过一系列的文档操作函数处理成为一个二维数组,然后 ...
- SQL语句完成Excel数据导入数据库表中流程方法及注意事项
第一步:先查看数据库是否安装AccessDatabaseEngine_X64.exe, 如下图查看: 如果未安装先下载脚本之家下载地址 https://www.jb51.net/softs/29150 ...
随机推荐
- Mac 搭建 Redis 集群
date: 2020-09-24 16:24:00 updated: 2020-09-24 17:30:00 Mac 搭建 Redis 集群 参考文档 摘要 安装docker brew cask in ...
- Linux部署常用命令
1../startup.sh 开启tomcat服务 2.rm -f file1 删除文件 3.rmdir dir xxx 删除目录 4.Tab按钮 自动补全文件名称功能 5.gzip file1 ...
- JVM详解(二)-- 第2章 类加载器子系统
一.JVM内存结构 1.1 内存结构---概略图 1.2 内存结构--详细图 二.类加载器子系统的作用 类加载器子系统负责从文件系统或网络中加载.Class文件,文件需要有特定的标识(cafe bab ...
- 使用 IDEA 查看 JDK8 源码
使用 idea 查看 oracle jdk 8 源码时发现 Unsafe 没有源码. 解决方法: 到 openjdk-8 下载页面:http://jdk.java.net/java-se-ri/8-M ...
- Flask 中的MTV架构之Views
Flask 中的MTV架构之Views 1.MVC与MTV 1.1 MVC M:model,模型,数据模型 V:view,视图,负责数据展示 C:controller,控制器,负责业务逻辑 ...
- 探索G1垃圾回收器
前言 最近王子因为个人原因有些忙碌,导致文章更新比较慢,希望大家理解,之后也会持续和小伙伴们一起共同分享技术干货. 上篇JVM的文章中我们对ParNew和CMS垃圾回收器已经有了一个比较透彻的认识,感 ...
- P6773 [NOI2020]命运
整体DP 很明显计算答案需要用容斥计算,如果暴力容斥的话,就是枚举哪些路径不符合条件,在这些路径的并集中的边都不能取,其他边任意取,设当前取了$i$条路径,那么对答案的贡献是$(-1)^i2^{n-1 ...
- CI框架导入 excel
整合PHP Excel和PHPexcelReader到 librarys下面 两个excel整合成一个excel <?php class Excel extends Control ...
- 谈谈对不同I/O模型的理解 (阻塞/非阻塞IO,同步/异步IO)
一.关于I/O模型的问题 最近通过对ucore操作系统的学习,让我打开了操作系统内核这一黑盒子,与之前所学知识结合起来,解答了长久以来困扰我的关于I/O的一些问题. 1. 为什么redis能以单工作线 ...
- Pytest学习(六) - conftest.py结合接口自动化的举例使用
一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...