PHPExcel读取excel的多个sheet存入数据库
//批量导入文章 excel读取
public function importdata ( $filename, $tmp_name ) {
//设置超时时间
set_time_limit(0); $rootPath = OA_FILES_ROOT.'/' ; //引入phpexcel
// $_SERVER["WL_OA"] = 'E:/www/2.151/oa/web';
$_SERVER["WL_OA"] = '/opt/wwwroot/wl/oa/web';
require($_SERVER["WL_OA"] . "/Classes/PHPExcel.php");
require($_SERVER["WL_OA"] . "/Classes/PHPExcel/IOFactory.php");
require($_SERVER["WL_OA"] . "/Classes/PHPExcel/Reader/Excel5.php"); //判断文件格式
$path_parts = pathinfo($filename) ;
$extension = strtolower($path_parts['extension']) ;
if ( !in_array($extension, array('xls','xlsx'))) {
wl_set_operation_msg ( "文件格式不正确,请重新选择", 2, bd_oa_url ( 'helpcenter/manage_article' ), 3 );
} //上传后的文件名
$randName = substr(md5(rand(10,99)), 0,4) ;
$name = date('YmdHis').$randName.'.'.$extension ;
$realFile = $rootPath.$name; //上传后的文件名地址
//移动上传文件
$result = move_uploaded_file( $tmp_name, $realFile );
if ( $result ) { $PHPExcel = new PHPExcel() ;
$PHPReader = new PHPExcel_Reader_Excel2007(); if( !$PHPReader->canRead($realFile) ){
$PHPReader = new PHPExcel_Reader_Excel5();
if( !$PHPReader->canRead( $realFile ) ){
wl_set_operation_msg ( "文件不可读,请重新选择", 2, bd_oa_url ( 'helpcenter/manage_article' ), 3 );
return false;
}
} $_excelData = array() ;
//读取excel
$PHPExcel = $PHPReader->load( $realFile );
//获取工作表的数目
$sheetCount = $PHPExcel->getSheetCount(); for ( $i = 0; $i < $sheetCount; $i++ ) {
$_currentSheet = $PHPExcel->getSheet( $i ) ; $_allRow = $_currentSheet->getHighestRow(); //获取Excel中信息的行数
$_allColumn = $_currentSheet->getHighestColumn();//获取Excel的列数 $highestRow = intval( $_allRow ) ;
$highestColumn = PHPExcel_Cell::columnIndexFromString($_allColumn);//有效总列数 for( $row = 2; $row <= $highestRow; $row++ ) {
$_excelData['onecatalog'] = $_currentSheet->getCellByColumnAndRow(0, $row)->getValue() ;
$_excelData['twocatalog'] = $_currentSheet->getCellByColumnAndRow(1, $row)->getValue() ;
$_excelData['threecatalog'] = $_currentSheet->getCellByColumnAndRow(2, $row)->getValue() ;
$_excelData['title'] = $_currentSheet->getCellByColumnAndRow(3, $row)->getValue() ;
$_excelData['content'] = $_currentSheet->getCellByColumnAndRow(4, $row)->getValue() ; if ( empty($_excelData['onecatalog']) || empty($_excelData['twocatalog']) || empty($_excelData['threecatalog']) ) {
self::add_log( array('sType'=>"导入失败",'doContent'=>$filename." 下 Sheet".($i+1)." 中第 ".$row." 行导入失败",'iUid'=>$this->loginedUid,'doTime'=>date("Y-m-d H:i:s"))) ;
unset( $_excelData ) ;
continue ;
}
if ( !is_string( $_excelData['title'] ) || !is_string( $_excelData['content'] ) || empty($_excelData['title']) || empty($_excelData['content']) ) {
self::add_log( array('sType'=>"导入失败",'doContent'=>$filename." 下 Sheet".($i+1)." 中第 ".$row." 行导入失败",'iUid'=>$this->loginedUid,'doTime'=>date("Y-m-d H:i:s"))) ;
unset( $_excelData ) ;
continue ;
}
//插入数据库
if ( !self::doData( $_excelData ) ) {
unset( $_excelData ) ;
continue ;
}
unset($_excelData);
}
}
return true ;
}else{
wl_set_operation_msg ( "文件上传失败,请重新选择", 2, bd_oa_url ( 'helpcenter/manage_article' ), 3 );
}
}
PHPExcel读取excel的多个sheet存入数据库的更多相关文章
- PHPExcel读取excel文件示例
PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...
- 利用PHPExcel读取Excel的数据和导出数据到Excel
PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...
- (实用篇)PHPExcel读取Excel文件的实现代码
用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点: php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进 ...
- PHP使用phpexcel读取excel文件
PHP读取excel文件 require("Classes/PHPExcel.php"); require("Classes/PHPExcel/IOFactory.php ...
- ThinkPHP3.2.3 PHPExcel读取excel插入数据库
版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255 ...
- Yii2使用PHPExcel读取excel
个人使用过程中保存一些使用PHPExcel的经验,以便后来翻阅:与PHP的Yii框架结合,可以轻松使用.而且根本不用网上所说的修改Yii的自动加载文件等方法.具体使用方法:下载phpoffice ht ...
- PHPExcel读取Excel文件的实现代码
<?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianT ...
- thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片
<?php class GetpriceAction extends AdministratorAction { // 文件保存路径 protected $savepath; // 允许上传的文 ...
- 利用PHPExcel读取excel文件
$filePath = "7788.xls"; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel ...
随机推荐
- Ansible状态管理
转载自:http://xdays.me/ansible状态管理.html 简介 就像所有服务器批量管理工具(puppet有DSL,salt有state)一样,ansible也有自己的状态管理组件 ...
- ios 对齐属性
四个容易混淆的属性:1. textAligment : 文字的水平方向的对齐方式1> 取值NSTextAlignmentLeft = 0, // 左对齐NSTextAlignme ...
- 翻译:Knockout 快速上手 - 4: 你需要知道的顶级特性
Knockout 最棒的一个特点就是它的可扩展性.Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序.许多开发者除了 Knockout 核心库之外没有使用任何其他的脚本库 ( 甚至 ...
- im4java开发向导
0.搜索ImageMagick下载安装 1.Setting up the Environment 引入im4java到classpath 设置图片处理引擎的command searchpa ...
- Weblogic发布小问题——The root element weblogic-web-app is missing in the descriptor file
前几天发布项目遇到这样一个小错误,在此记录一下,以便加深一点印象,下次好解决类似的问题! (对应的应用服务器是WebLogic Server 版本: 10.3.6.0,应用是以文件夹的形式发在服务器的 ...
- 重拾qt
最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文 ...
- office 2003和office 2013同时安装使用的问题
电脑上同时安装了Office 2003和Office 2007/2010,先打开Word 2003,然后再打开Word 2010,总会弹出安装配置界面,反之亦然. 解决方法:使用快捷键Win+R打开 ...
- 4种kill某个用户所有进程的方法
在linux系统管理中,我们有时候需要kill掉某个用户的所有进程,初学者一般先查询出用户的所有pid,然后一条条kill掉,或者写好一个脚本,实际上方法都有现成的,这边有4种方法,我们以kill用户 ...
- PPTP --VPN配置
测试:1:根据上面的步骤4,在路由器里查看状态:2:手机热点,共享给你电脑,电脑拨号,进行测试. 参考:http://jingyan.baidu.com/article/90808022ddd6a ...
- Chrome 使用技巧
阅读目录 写在前面 快速切换文件 在源代码中搜索 在源代码中快速跳转到指定的行 使用多个插入符进行选择 设备模式 设备传感仿真 格式化凌乱的js源码 颜色选择器 改变颜色格式 强制改变元素状态(方便查 ...