资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、导入(这其中 show_msg 和 logFile 是自定义函数)/*方法名:excelToTable*作用:【私有】将 excel 数据导入数据表中*param1 :file 用户上传的文件信息*param2 :tableid 用来区别是哪张表,1-statistics_rawdata_pct,2-statistics_rawdata_apply,3-statistics_rawdata_auth,4-statistics_rawdata_valid*param3 :month_number 导入的数据属于哪一期的,比如 201510*param4 :table_head 用来判断 excel 表格是否有表头,默认有*date:2015/11/26*author :dingling*/private function excelToTable($file,$tableid,$month_number,$table_head=1)if(!empty($filename)$file_types = explode ( “.“, $filename );$excel_type = array(xls,csv,xlsx);/判断是不是 excel 文件if (!in_array(strtolower(end($file_types),$excel_type)$this-show_msg(“不是 Excel 文件,重新上传“,“/search/patentStatistics/uploadRawdata“);/设置上传路径$savePath = _WWW_ . www/tmp/;/以时间来命名上传的文件$str = date ( Ymdhis );$file_name = $str.“.“.end($file_types);/是否上传成功$tmp_file = $filetmp_name;if (!copy($tmp_file,$savePath.$file_name)$this-show_msg(“上传失败“,“/search/patentStatistics/uploadRawdata“);if($tableid=“1“)$rawdata_obj = $this-rawdata_pctmodel;elseif($tableid=“2“)$rawdata_obj = $this-rawdata_applymodel;elseif($tableid=“3“)$rawdata_obj = $this-rawdata_authmodel;elseif($tableid=“4“)$rawdata_obj = $this-rawdata_validmodel;else$this-show_msg(“您要导入的数据表不存在!“,“/search/patentStatistics/uploadRawdata“);if($rawdata_obj)$fields = $rawdata_obj-returnFields();else$this-show_msg(“未能指定明确的表!“,“/search/patentStatistics/uploadRawdata“);/定义导入失败记录的文档$logfile = $savePath.$str.txt;/读取 excel,存成数组,该数组的 key 是从 1 开始$res = $this-excelToArray($savePath.$file_name,end($file_types);/echo 12321321;exit;/如果有表头,则过滤掉第一行if($table_head)unset($res1);/循环写入,不一次性写入,防止有错误的记录;错误记录会记录下第一个字段到 txt 文档中去foreach($res as $k =$v)foreach($fields as $key=$val)if($v$key=null)$v$key = null;$data$val = $v$key;/该字段比较特殊,必须导入表中都有该字段$datamonth_number = $month_number;$result = $rawdata_obj-addSave($data);unset($data);if(!$result)$this -logFile($logfile,$v0);if(file_get_contents($logfile)return $logfile;elsereturn true;/*方法名:excelToArray*作用:【私有】将 excel 数据转换成数组*param1 :filename excel 文件名*param2 :filetype excel 格式(xls、xlsx、csv)*param3 :encode 编码格式,默认 utf8*return :返回 2 维数组,最小的 key 为 1*date:2015/11/26*author :dingling*/private function excelToArray($filename,$filetype,$encode=utf-8)if(strtolower($filetype)=xls)$objReader = PHPExcel_IOFactory:createReader(Excel5);elseif(strtolower($filetype)=xlsx)$objReader = PHPExcel_IOFactory:createReader(Excel2007);elseif(strtolower($filetype)=csv)$objReader = PHPExcel_IOFactory:createReader(CSV);$objReader-setReadDataOnly(true);$objPHPExcel = $objReader-load($filename);$objWorksheet = $objPHPExcel-getActiveSheet();$highestRow = $objWorksheet-getHighestRow();$highestColumn = $objWorksheet-getHighestColumn();$highestColumnIndex = PHPExcel_Cell:columnIndexFromString($highestColumn);$excelData = array();for ($row = 1; $row getCellByColumnAndRow($col, $row)-getValue();return $excelData;二、导出(该功能支持页面上 html 中 table 表格直接导出)1、前端代码专利数据检索平台 2015 年 08 月无标题文档.body_index background:none !important;#mian width:95%; margin:20px auto;.table margin-top:20px;.table thead trtext-align:center;.table th font-weight:bold; vertical-align:middle;.table td vertical-align:middle;.table input,.table textarea,.table selectmargin-bottom:0px;.title h4 border-bottom:2px solid #01AFD4; padding-bottom:8px;.title amargin-top:-50px;.titlepadding-bottom:10px;.handle_labelfloat:left;margin-top: 5px;margin-left: 15px; width:100px;text-align:right;.navwidth:auto !important;background:none !important;.table2 margin-top:0px !important; margin-bottom:0px !important;.hidedisplay:none;.mainlevel DIV width:1050px;#mian width:95%; margin:20px auto;.table margin-top:20px;.table thead trtext-align:center;.table th font-weight:bold; vertical-align:middle;.table tdtext-align:center;.table input,.table textarea,.table selectmargin-bottom:0px;.redcolor:red;导出2015 年 08 月北京地区各区县专利授权情况排序区县当月累计发明实用新型外观设计三种专利申请中个人职务小计大专院校科研单位企业机关团体总计681420883763963828598641253649201181海淀区2157823103330124619112643371229812朝阳区1181569407205192989649282583西城区10952597587851104410191001144昌平区416782251135536134531845东城区39310026231373560934076丰台区388842644099289166220927大兴区38784254495533216131418顺义区3042122855192850028509通州区16418109372913562127010石景山区1473382321013708128111房山区66752714522149012怀柔区5874479490049013密云区2311846170017014平谷区2111732190019015门头沟区1027146006016延庆区303003003017其他110001001018北京经济技术开发区191671121214177011760注:开发区数据不计算在合计总数中window.onload=function()$(“#export_data“).click(function()/获取标题var title = $(“.table“).find(“tr“).eq(0).find(th).html();/获取总行数var line_num = $(“.table tr“).length;/获取最大列数var max_col_num = $(“.table“).find(“tr“).eq(0).find(th).attr(colspan);/获取各行列数 数组 col_num_arr 字符串 col_num_strvar col_num_arr = new Array();/获取各行 td 或者 th 的个数var total_td_num = 0;for(var i=0;i2、后端代码/*方法名:exportData*作用:导出数据*date2015/03/26*author dingling*return excel 文件路径*/public function exportData
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号