通过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 ...
随机推荐
- Oracl Linux KVM虚拟机备份
Oracle Linux KVM 作为Oracle Linux的一部分,基于KVM的Oracle Linux 服务器虚拟化解决方案在功能上得到了增强.用户可以利用Oracle Linux旧版本,将操 ...
- open_spiel 随笔
------------恢复内容开始------------ ------------恢复内容开始------------ 遇到的一些疑惑且已经解决的 1. SPIEL_CHECK_GT()诸如此类的 ...
- ATOM基础教程一使用前端插件emmet(16)
emmet简介 http://blog.csdn.net/zsl10/article/details/51956791 emmet的前身是Zen coding,从事Web前端开发的工程师对该插件并不陌 ...
- B. Petya and Divisors 解析(思維)
Codeforce 111 B. Petya and Divisors 解析(思維) 今天我們來看看CF111B 題目連結 題目 略,請看原題 前言 看了別人的解答就豁然開朗 @copyright p ...
- python引用方法赋值问题探究
python脚本编写中,经常会遇到引用一个模块的方法的场景.引用的方法里到底赋不赋值曾经困扰了我好久. 最近利用python写了一个接口自动化测试脚本,在查阅观看多篇博文和视频后解决了封装方法引用的问 ...
- scrapyd部署、使用Gerapy 分布式爬虫管理框架
Scrapyd部署爬虫项目 GitHub:https://github.com/scrapy/scrapyd API 文档:http://scrapyd.readthedocs.io/en/stabl ...
- ssh 和scp 非22端口
ssh :(命令中的 p 小写) ssh -p 端口号 root@服务器ip scp: (命令中的 P 大写)(-r表示将目录下的目录递归拷贝.".*"是将所有文件包括隐藏文件.) ...
- 【原创】ARM平台内存和cache对xenomai实时性的影响
目录 1. 问题概述 2. stress 内存压力原理 2. cache 因素 2.1 未加压 2.2 加压(cpu/io) 3. 内存管理因素 3.1 内存分配/释放 3.2 MMU拥塞 4 总结 ...
- 在pandas中使用pipe()提升代码可读性
1 简介 我们在利用pandas开展数据分析时,应尽量避免过于碎片化的组织代码,尤其是创建出过多不必要的中间变量,既浪费了内存,又带来了关于变量命名的麻烦,更不利于整体分析过程代码的可读性,因此以流水 ...
- iptables从入门到掌握
防火墙简述 防火墙(firewall)一词本是建筑用于,本意是为了保护建筑物不受火灾侵害的.被借鉴到了在网络通信领域中,表示保护局域网或主机不受网络攻击的侵害. 防火墙: 工作在主机或者网络边缘,对于 ...