版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、导入(这其中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表格是否有表头,默
2、认有*date:2015/11/26*author:dingling*/private function excelToTable($file,$tableid,$month_number,$table_head=1)if(!empty($file'name')$file_types = explode ( ".", $file'name' );$excel_type = array('xls','csv','xlsx');/判断是不是excel文件if (!in_array(strtolowe
3、r(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 = $file'tmp
4、_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=&qu
5、ot;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->
6、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);/循环写入,不一
7、次性写入,防止有错误的记录;错误记录会记录下第一个字段到txt文档中去foreach($res as $k =>$v)foreach($fields as $key=>$val)if($v$key=null)$v$key = 'null'$data$val = $v$key;/该字段比较特殊,必须导入表中都有该字段$data'month_number' = $month_number;$result = $rawdata_obj->addSave($data);unset($data);if(!$result)$this ->logFil
8、e($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($filena
9、me,$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')$objRead
10、er = PHPExcel_IOFactory:createReader('CSV'); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($filename); $objWorksheet = $objPHPExcel->getActiveSheet();$highestRow = $objWorksheet->getHighestRow();$highestColumn = $objWorksheet->getHighestColumn();$highestCo
11、lumnIndex = PHPExcel_Cell:columnIndexFromString($highestColumn);$excelData = array();for ($row = 1; $row <= $highestRow; $row+) for ($col = 0; $col < $highestColumnIndex; $col+) $excelData$row =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue(); return $excelData; 二、导出(
12、该功能支持页面上html中table表格直接导出)1、前端代码<!doctype html><html><head><title>专利数据检索平台2015年08月</title><meta charset="utf-8" /><meta name="keywords" content="北京市知识产权信息服务平台" /><meta name="description" content="专利数据检索平台 北京市知识产
13、权信息服务平台" /><meta name="viewport" content="width=device-width, initial-scale=1" /><meta property="wb:webmaster" content="3c67ef6a26cfe34e" /><link rel="apple-touch-icon-precomposed" href="" /><meta name="bai
14、du-site-verification" content="5fNm7bQabR" /><meta http-equiv="X-UA-Compatible" content="IE=8" /><script type="text/javascript" src="/js/placeholder.js"></script><script type="text/javascript" src="/js/jque
15、ry-1.8.3.min.js"></script><script type="text/javascript" src="/js/admin.js"></script><link href="/js/dtree/dtree.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="/js/dtree/dtr
16、ee.js"></script><link href="/css/index.css" rel="stylesheet" type="text/css"><link href="/css/navcss.css" rel="stylesheet" type="text/css"> <link href="/css/govnet/self.css" rel="stylesheet"
17、type="text/css"> <!-<link href="/css/index.css" rel="stylesheet" type="text/css">-><link href="/css/common.css" rel="stylesheet" type="text/css"></head><body class="body_index" ><!DOCT
18、YPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />&
19、lt;title>无标题文档</title><script type="text/javascript" src="/bootstrap/jquery.min.js"></script><link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet"><style>.body_index background:none !important;#mian width:95%; margin:2
20、0px 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;.title
21、padding-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;</style><style>.mainlevel DIV width:1050px;#m
22、ian 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;</style><div id="mian"><span id=&quo
23、t;export_data" style="float:right;cursor:pointer;">导出</span><table class="table table-bordered"><tr><th colspan='12'><center>2015年08月北京地区各区县专利授权情况</center></th></tr><tr><th rowspan="2"><cente
24、r>排序</center></th><th rowspan="2"><center>区县</center></th><th rowspan="2"><center>当月累计</center></th><th rowspan="2"><center>发明</center></th><th rowspan="2"><center&
25、gt;实用新型</center></th><th rowspan="2"><center>外观设计</center></th><th colspan="6"><center>三种专利申请中</center></th></tr><tr><th><center>个人</center></th><th><center>职务小计</center
26、></th><th><center>大专院校</center></th><th><center>科研单位</center></th><th><center>企业</center></th><th><center>机关团体</center></th></tr><tr><td><center><b></b></ce
27、nter></td><td><center><b>总计</b></center></td><td>6814</td><td>2088</td><td>3763</td><td>963</td><td>828</td><td>5986</td><td>412</td><td>536</td><td>4920
28、</td><td>118</td></tr><tr><td><center><b>1</b></center></td><td><center><b>海淀区</b></center></td><td>2157</td><td>823</td><td>1033</td><td>301</td><
29、td>246</td><td>1911</td><td>264</td><td>337</td><td>1229</td><td>81</td></tr><tr><td><center><b>2</b></center></td><td><center><b>朝阳区</b></center></td
30、><td>1181</td><td>569</td><td>407</td><td>205</td><td>192</td><td>989</td><td>64</td><td>92</td><td>825</td><td>8</td></tr><tr><td><center><b>3<
31、/b></center></td><td><center><b>西城区</b></center></td><td>1095</td><td>259</td><td>758</td><td>78</td><td>51</td><td>1044</td><td>10</td><td>19</td><td
32、>1001</td><td>14</td></tr><tr><td><center><b>4</b></center></td><td><center><b>昌平区</b></center></td><td>416</td><td>78</td><td>225</td><td>113</td>
33、<td>55</td><td>361</td><td>34</td><td>5</td><td>318</td><td>4</td></tr><tr><td><center><b>5</b></center></td><td><center><b>东城区</b></center></td>
34、;<td>393</td><td>100</td><td>262</td><td>31</td><td>37</td><td>356</td><td>0</td><td>9</td><td>340</td><td>7</td></tr><tr><td><center><b>6</b>&l
35、t;/center></td><td><center><b>丰台区</b></center></td><td>388</td><td>84</td><td>264</td><td>40</td><td>99</td><td>289</td><td>16</td><td>62</td><td>209<
36、/td><td>2</td></tr><tr><td><center><b>7</b></center></td><td><center><b>大兴区</b></center></td><td>387</td><td>84</td><td>254</td><td>49</td><td>55&l
37、t;/td><td>332</td><td>16</td><td>1</td><td>314</td><td>1</td></tr><tr><td><center><b>8</b></center></td><td><center><b>顺义区</b></center></td><td>304
38、</td><td>21</td><td>228</td><td>55</td><td>19</td><td>285</td><td>0</td><td>0</td><td>285</td><td>0</td></tr><tr><td><center><b>9</b></center>&l
39、t;/td><td><center><b>通州区</b></center></td><td>164</td><td>18</td><td>109</td><td>37</td><td>29</td><td>135</td><td>6</td><td>2</td><td>127</td><td>
40、0</td></tr><tr><td><center><b>10</b></center></td><td><center><b>石景山区</b></center></td><td>147</td><td>33</td><td>82</td><td>32</td><td>10</td><td&
41、gt;137</td><td>0</td><td>8</td><td>128</td><td>1</td></tr><tr><td><center><b>11</b></center></td><td><center><b>房山区</b></center></td><td>66</td><td
42、>7</td><td>52</td><td>7</td><td>14</td><td>52</td><td>2</td><td>1</td><td>49</td><td>0</td></tr><tr><td><center><b>12</b></center></td><td>&l
43、t;center><b>怀柔区</b></center></td><td>58</td><td>7</td><td>44</td><td>7</td><td>9</td><td>49</td><td>0</td><td>0</td><td>49</td><td>0</td></tr><t
44、r><td><center><b>13</b></center></td><td><center><b>密云区</b></center></td><td>23</td><td>1</td><td>18</td><td>4</td><td>6</td><td>17</td><td>0</t
45、d><td>0</td><td>17</td><td>0</td></tr><tr><td><center><b>14</b></center></td><td><center><b>平谷区</b></center></td><td>21</td><td>1</td><td>17</td
46、><td>3</td><td>2</td><td>19</td><td>0</td><td>0</td><td>19</td><td>0</td></tr><tr><td><center><b>15</b></center></td><td><center><b>门头沟区</b>&
47、lt;/center></td><td>10</td><td>2</td><td>7</td><td>1</td><td>4</td><td>6</td><td>0</td><td>0</td><td>6</td><td>0</td></tr><tr><td><center><b>
48、16</b></center></td><td><center><b>延庆区</b></center></td><td>3</td><td>0</td><td>3</td><td>0</td><td>0</td><td>3</td><td>0</td><td>0</td><td>3<
49、;/td><td>0</td></tr><tr><td><center><b>17</b></center></td><td><center><b>其他</b></center></td><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td&
50、gt;<td>1</td><td>0</td><td>0</td><td>1</td><td>0</td></tr><tr><td class="red"><center><b>18</b></center></td><td class="red"><center><b>北京经济技术开发区</b>
51、;</center></td><td class="red">191</td><td class="red">67</td><td class="red">112</td><td class="red">12</td><td class="red">14</td><td class="red">177</td>
52、<td class="red">0</td><td class="red">1</td><td class="red">176</td><td class="red">0</td></tr><tr><td colspan='12'><span style="text-align:right;">注:开发区数据不计算在合计总数中<sp
53、an></td></tr></table></div><script>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_
54、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;i<line_num;i+)col_num_arri = $(".table").find("tr").eq(i).find(
55、9;td').length;if(col_num_arri='')col_num_arri = $(".table").find("tr").eq(i).find('th').length;total_td_num = total_td_num + col_num_arri;var col_num_str = col_num_arr.join(',');/alert(col_num_str);/获取各行th的个数var th_col_num_arr = ;for(var i=0;i<line_
56、num;i+)var j = $(".table").find("tr").eq(i).find('th').length;if(j != 0)th_col_num_arri = j;var th_col_num_str = th_col_num_arr.join(',');/alert(th_col_num_str);/获取所有th值var th_data_arr = ;var th_num = $(".table").find('th').length;for(var i=0;i&l
57、t;th_num;i+)var val = $(".table").find('th').eq(i).html();if(typeof(val)!='undefined'&&typeof(val)!='')th_data_arri = val;var th_data_str = th_data_arr.join('');/alert(th_data_arr0);alert(th_data_str);/获取所有td值var td_data_arr = ;var td_num = $(".
58、table").find('td').length;for(var i=0;i<td_num;i+)var val = $(".table").find('td').eq(i).html();if(typeof(val)!='undefined')td_data_arri = val;var td_data_str = td_data_arr.join('');$.ajax(url:"/search/patentStatistics/exportData",type:&quo
59、t;POST",data:title:title,max_col_num:max_col_num,th_col_num_str:th_col_num_str,th_data_str:th_data_str,td_data_str:td_data_str,dataType:"json",success:function(data)/console.log(data.href);window.open(data.href););</script><script src="</body></html></body
60、></html>2、后端代码/*方法名:exportData*作用:导出数据*date2015/03/26*authordingling*return excel文件路径*/public function exportDataAction()$title = strip_tags($_POST'title');/excel第一行标题$max_col_num = $_POST'max_col_num'/最大列数$th_num_arr = explode(',',trim($_POST'th_col_num_str'
61、);/取th各行的列数array_shift($th_num_arr);/删除首行th$head_line = count($th_num_arr);/列标题的th行数$th_data = explode('',trim($_POST'th_data_str');array_shift($th_data);/删除首行th(就是第一行标题)$th_data2 = array();foreach($th_data as $k=>$v)$th_data2 = strip_tags($v);/将一维数组(值)按照另一个数组(个数)拆分成二维数组foreach($t
62、h_num_arr as $k=>$v)foreach($th_data2 as $key=>$val)if($key<$v)$temp = $val;$th_data2 = array_values(array_diff($th_data2,$temp);$head = $temp;unset($temp);/补空foreach($head as $k=>$v)if(count($head$k)<$max_col_num)for($i=0;$i<$max_col_num-count($head$k);$i+)$temp = ''if($k=
63、0)$head2 = array_merge($head$k,$temp);else$head2 = array_merge($temp,$head$k);unset($temp);/获取所有td的值$td_data = explode('',trim($_POST'td_data_str');$data = array();foreach($td_data as $k=>$v)$data$k/$max_col_num$k%$max_col_num = strip_tags($v);$path = $this -> getExcel($title,$
64、title,$head2,$data);echo json_encode(array('href'=>$path) ;/*方法名:getExcel*作用:将数据转换为Excel格式*date2015/03/26*authordingling*param1文件名*param2sheet名称*param3字段名(必须二维数组)*param4数据*return excel文件*/private function getExcel($fileName,$fileName2,$headArr,$data)/对数据进行检验if(empty($data) | !is_array($da
65、ta)die("数据必须为数组");/检查文件名if(empty($fileName)exit;/组装文件名$date = date("Y_m_d",time();$fileName .= "_$date.xls"error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);date_default_timezone_set('PRC');if (PHP_SAPI = 'cli')die('只能通过浏览器运行');/创建PHPExcel对象$objPHPExcel = new PHPExcel();$objProps = $objPHPExcel->getProperties();/设置表名称$objPHPExcel->setActiveSheetIndex(0) ->setCellVal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下管线基坑支护施工方案
- 农产品供应链管理制度
- 吉林大学《数值分析初步实验》2021-2022学年第一学期期末试卷
- 吉林大学《积极心理品质》2021-2022学年第一学期期末试卷
- 2024科研项目合作研究合同书
- 中班开学家长会发言稿:家庭教育与学校教育
- 智能水箱监控方案
- 浙江省台州市2023-2024学年高二上学期期末考试 化学 含答案
- 2024-2025学年高中语文课时跟踪训练6苏轼词两首含解析新人教版必修4
- 全国统考2024高考数学一轮复习单元质检卷二函数理含解析北师大版
- 辽宁省大连市金普新区2024-2025学年七年级上学期11月期中英语试题(无答案)
- 河南科技大学《材料科学基础》2021-2022学年第一学期期末试卷
- 区病案质控中心汇报
- 2024塔吊司机的劳动合同范本
- 2024年国家公务员考试《行测》真题卷(副省级)答案及解析
- 2024年新华社招聘应届毕业生及留学回国人员129人历年高频难、易错点500题模拟试题附带答案详解
- 江苏省南京市秦淮区2023-2024学年八年级上学期期中语文试题及答案
- 2024年个人车位租赁合同参考范文(三篇)
- (完整版)新概念英语第一册单词表(打印版)
- 签申工作准假证明中英文模板
- 员工履历表(标准样本)
评论
0/150
提交评论