//批量导入文章   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存入数据库的更多相关文章

  1. PHPExcel读取excel文件示例

    PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...

  2. 利用PHPExcel读取Excel的数据和导出数据到Excel

    PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...

  3. (实用篇)PHPExcel读取Excel文件的实现代码

    用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点:  php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进 ...

  4. PHP使用phpexcel读取excel文件

    PHP读取excel文件 require("Classes/PHPExcel.php"); require("Classes/PHPExcel/IOFactory.php ...

  5. ThinkPHP3.2.3 PHPExcel读取excel插入数据库

    版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255 ...

  6. Yii2使用PHPExcel读取excel

    个人使用过程中保存一些使用PHPExcel的经验,以便后来翻阅:与PHP的Yii框架结合,可以轻松使用.而且根本不用网上所说的修改Yii的自动加载文件等方法.具体使用方法:下载phpoffice ht ...

  7. PHPExcel读取Excel文件的实现代码

    <?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianT ...

  8. thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片

    <?php class GetpriceAction extends AdministratorAction { // 文件保存路径 protected $savepath; // 允许上传的文 ...

  9. 利用PHPExcel读取excel文件

    $filePath = "7788.xls"; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel ...

随机推荐

  1. select into from 和 insert into select 的用法和区别

    select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建.insert ...

  2. No data in the view dba_hist_undostat (文档 ID 1558157.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11. ...

  3. Windows操作 - Photoshop为图片添加透明立体水印

    原文地址:http://design.yesky.com/photoshop/252/2427752.shtml 本文我们介绍用Photoshop为图片添加透明立体水印的方法和技巧. 原图: 打开原图 ...

  4. Android系统下检测Wifi连接互联网是否正常的代码

    /**  *  * 判断网络状态是否可用  *  * @return true: 网络可用 ; false: 网络不可用  */    public boolean isConnectInternet ...

  5. oracle通过DBlink连接mysql(MariaDB)

    1.安装先装 mysql-connector-odbc(或 mariadb-connector-odbc )和unixODBChttps://downloads.mariadb.org/mariadb ...

  6. css自定义字体完美解决方案example

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. MS SqlSever一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】[转]

    对普通开发人员来说经常能接触到上千万条数据优化的机会也不是很多,这里还是要感谢公司提供了这样的一个环境,而且公司让我来做优化工作.当数据库中的记录不超过10万条时,很难分辨出开发人员的水平有多高,当数 ...

  8. WP8_UTF8 to GB2312转码 (url网址中带中文字符的处理)

    直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码, 而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 ...

  9. ajax 的简单应用

    ajax作为前端技术,采用异步方式,根据其采用的方式来讲,不用刷新界面,只是进行数据的传递. 后台还是用servlet的.servlet接收到ajax的get或post请求后.将数据组装成xml或者j ...

  10. 新写的c++日志库:log4K

    网是开源的c/c++日志库也不少,但用起来总觉得不方便,于是动手写了一个C++日志框架Log4K. 测试代码: #include "log4k.h" #pragma comment ...