最近根据客户需求,需要增加一个导入Excel表格的功能,Excel中存放的是知识库中医知识的分类体系目录。是在thinkphp框架下编写的代码,用的是phpexcel第三方包。测试环境用的是xampp集成了mysql和phpmyadmin。

具体如下形式:

<?php

        require_once './PHPExcel/PHPExcel.php';

        require_once './PHPExcel/PHPExcel/IOFactory.php';

        require_once './PHPExcel/PHPExcel/Reader/Excel5.php';

        $objReader = PHPExcel_IOFactory::createReader('excel2007'); //use Excel5 for 2003 format 

        $excelpath='D:/wamp64/www/Book1.xlsx';
//$excelpath = $uploadAddr; //$objPHPExcel = $objReader->load($excelpath);
$objPHPExcel = PHPExcel_IOFactory::load($excelpath);
$sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); //取得总行数 $highestColumn = $sheet->getHighestColumn(); //取得总列数
error_reporting( E_ALL&~E_NOTICE );
$str = "";
for($j=2;$j<=$highestRow;$j++)
{
$id = "";
$name = "";
for($k='A';$k<=$highestColumn;$k++)
{
//$str .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'\\';//读取单元格
$str = $sheet->getCell($k.$j)->getValue();
//$str = $sheet->getCell($k.$j+1)->getValue(); echo $str."<br>";
//echo $sheet->getCell($k.$j)->getValue()." ";
//explode:函数把字符串分割为数组。
$strs = explode("\\",$str);
if ($k=='A') $id = $str;
if ($k=='B') $name = $str;
}
echo $id; echo $name."<br>";
$link = mysqli_connect("localhost", "root", "", "excel");
//$db_selected = mysql_select_db("excel", $link);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link,"set names utf8");
try {
mysqli_query($link, "INSERT INTO test(id,name) VALUES('".$id."','".$name."')");
// echo "$strs[0]"." | "."$strs[1]"."<br>";
// echo "INSERT INTO test(id,classname) VALUES('".$strs[0]."','".$strs[1]."')";
// echo "<br>";
} catch (Exception $e) {
print $e->getMessage();
}
} ?>
</body>
</html>

php解析Excel表格并且导入MySQL数据库的更多相关文章

  1. Excel表格数据导入MySQL数据库

    有时候项目需要将存在表格中的批量数据导入数据库,最近自己正好碰到了,总结一下: 1.将excel表格另存为.csv格式文件,excel本身的.xlsx格式导入时可能会报错,为了避免不必要的格式错误,直 ...

  2. Excel表格数据导入Mysql数据库的方法

    1.使用Navicat 连接需要导入的数据库. 2.excel 列的名字最好和数据库的名字一致,便于我们直观的查看好理解.   第一步,先创建好表,和准备好对应的excel文件.在Navicat 中选 ...

  3. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

  4. 将 excel文件数据导入MySQL数据库中

    第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创 ...

  5. PHP把excel导入mysql数据库最常用的方法

    Posted on 2011-03-25 09:16 PHP博客 阅读(1316) 评论(0)  编辑 收藏 引用 网摘 PHP把excel(xls)文件导入mysql数据库最常用的方法就是先把xls ...

  6. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

  7. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  8. 【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat

    很多公司尤其有点年头的公司,财务业务部门的各种表单都是excel来做的表格,随着互联网的发展各种业务流程都电子化流程化了,再在茫茫多的文档中去查找某一个年份月份的报告是件相当枯燥的事,所以都在想办法将 ...

  9. JXL解析Excel表格内容到数据库

    java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...

随机推荐

  1. 杨韬的Python/Jupyter学习笔记

    Python语法学习 https://zhuanlan.zhihu.com/p/24162430 Python 安装库 安装Jupyter Notebook 先安装Python cmd 进入K:\Ju ...

  2. python 减少可调用对象的参数个数

    有一个被其他python 代码使用的callable 对象,可能是一个回调函数或者是一个处理器,但是它的参数太多了,导致调用时出错 如果需要减少某个函数的参数个数, 你可以使用functools.pa ...

  3. 浮点数(double、float)的格式化问题及处理

    ---恢复内容开始--- 平时常会面临浮点数的格式处理问题,下面就举例说一说常见的问题及处理: 1,科学计数法问题 一个浮点数123456789.10,在打印的时候变成了1.234567891E8,处 ...

  4. Technical poem

    Apartment Good apartment be booked the second it bring to market. low product sold to many man, and ...

  5. SQL小结1

    #数据表的查询框架: select [all | distinct] select_list from tb_name [where 查询条件] [group by <group_by_expr ...

  6. 配置firewalld端口转发

    题:在系统 system1 设定端口转发,要求: 1.在172.24.8.0/24网络中的系统,访问system1的本地端口 5423 将被转发到 80 2.此设置必须永久有效 答: # 配置转发端口 ...

  7. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  8. Celery 实现异步任务-one

    celery异步任务: 环境准备 安装celery ,django-celery. 就是一个专注于实时处理和任务调度的分布式队列. 可以异步执行的任务交给后台处理,以防网络阻塞,减小响应时间 cele ...

  9. The SOLID principles(未完,待续)

    The SOLID principles The SOLID principles of Object Oriented Design include these five principles: S ...

  10. tomcat的systemctl启动脚本

    最近在做Tomcat的实验,顺便研究了一下tomcat的启动脚本发现一个问题,然后经过多方查阅其他大神的资料,终于解决,现在跟大家分享. tomcat的启动脚本跟别的脚本有稍微区别的原因是他需要识别J ...