php利用phpexcel插件实现数据的导入和导出支持csvxlsxlsx格式和超过26个字段列Word文档格式.docx
- 文档编号:20732257
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:24
- 大小:22.49KB
php利用phpexcel插件实现数据的导入和导出支持csvxlsxlsx格式和超过26个字段列Word文档格式.docx
《php利用phpexcel插件实现数据的导入和导出支持csvxlsxlsx格式和超过26个字段列Word文档格式.docx》由会员分享,可在线阅读,更多相关《php利用phpexcel插件实现数据的导入和导出支持csvxlsxlsx格式和超过26个字段列Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
/search/patentStatistics/uploadRawdata"
}
//设置上传路径
$savePath=_WWW_.'
www/tmp/'
;
//以时间来命名上传的文件
$str=date('
Ymdhis'
);
$file_name=$str."
.end($file_types);
//是否上传成功
$tmp_file=$file['
tmp_name'
];
copy($tmp_file,$savePath.$file_name)){
上传失败"
if($tableid=="
1"
){
$rawdata_obj=$this->
rawdata_pctmodel;
}elseif($tableid=="
2"
rawdata_applymodel;
3"
rawdata_authmodel;
4"
rawdata_validmodel;
}else{
您要导入的数据表不存在!
"
if($rawdata_obj)
$fields=$rawdata_obj->
returnFields();
else
未能指定明确的表!
//定义导入失败记录的文档
$logfile=$savePath.$str.'
.txt'
//读取excel,存成数组,该数组的key是从1开始
$res=$this->
excelToArray($savePath.$file_name,end($file_types));
//echo12321321;
exit;
//如果有表头,则过滤掉第一行
if($table_head)
unset($res[1]);
//循环写入,不一次性写入,防止有错误的记录;
错误记录会记录下第一个字段到txt文档中去
foreach($resas$k=>
$v){
foreach($fieldsas$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->
logFile($logfile,$v[0]);
if(file_get_contents($logfile))
return$logfile;
returntrue;
}
}
/**
excelToArray
【私有】将excel数据转换成数组
filenameexcel文件名
filetypeexcel格式(xls、xlsx、csv)
encode编码格式,默认utf8
*@return:
返回2维数组,最小的key为1
privatefunctionexcelToArray($filename,$filetype,$encode='
utf-8'
if(strtolower($filetype)=='
$objReader=PHPExcel_IOFactory:
:
createReader('
Excel5'
}elseif(strtolower($filetype)=='
Excel2007'
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<
=$highestRow;
$row++){
for($col=0;
$col<
$highestColumnIndex;
$col++){
$excelData[$row][]=(string)$objWorksheet->
getCellByColumnAndRow($col,$row)->
getValue();
return$excelData;
二、导出(该功能支持页面上html中table表格直接导出)
1、前端代码
<
!
doctypehtml>
html>
head>
title>
专利数据检索平台2015年08月<
/title>
metacharset="
utf-8"
/>
metaname="
keywords"
content="
北京市知识产权信息服务平台"
description"
专利数据检索平台北京市知识产权信息服务平台"
viewport"
width=device-width,initial-scale=1"
metaproperty="
wb:
webmaster"
3c67ef6a26cfe34e"
linkrel="
apple-touch-icon-precomposed"
href="
baidu-site-verification"
5fNm7bQabR"
metahttp-equiv="
X-UA-Compatible"
IE=8"
scripttype="
text/javascript"
src="
/js/placeholder.js"
>
/script>
/js/jquery-1.8.3.min.js"
/js/admin.js"
<
linkhref="
/js/dtree/dtree.css"
rel="
stylesheet"
type="
text/css"
/js/dtree/dtree.js"
/css/index.css"
/css/navcss.css"
/css/govnet/self.css"
--<
-->
/css/common.css"
/head>
bodyclass="
body_index"
>
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
htmlxmlns="
//www.w3.org/1999/xhtml"
Content-Type"
text/html;
charset=utf-8"
无标题文档<
/bootstrap/jquery.min.js"
/bootstrap/css/bootstrap.min.css"
style>
.body_index{background:
none!
important;
}
#mian{width:
95%;
margin:
20pxauto;
.table{margin-top:
20px;
.tabletheadtr{text-align:
center;
.tableth{font-weight:
bold;
vertical-align:
middle;
.tabletd{vertical-align:
.tableinput,.tabletextarea,.tableselect{margin-bottom:
0px;
.titleh4{border-bottom:
1pxsolid#01AFD4;
padding-bottom:
8px;
.titlea{margin-top:
-50px;
.title{padding-bottom:
10px;
.handle_label{float:
left;
margin-top:
5px;
margin-left:
15px;
width:
100px;
text-align:
right;
.nav{width:
auto!
background:
.table2{margin-top:
0px!
margin-bottom:
.hide{display:
none;
/style>
.mainlevelDIV{width:
1050px;
.tabletd{text-align:
.red{color:
red;
divid="
mian"
spanid="
export_data"
style="
float:
cursor:
pointer;
导出<
/span>
tableclass="
tabletable-bordered"
<
tr>
thcolspan='
12'
center>
2015年08月北京地区各区县专利授权情况<
/center>
/th>
/tr>
<
throwspan="
排序<
区县<
当月累计<
发明<
实用新型<
外观设计<
thcolspan="
6"
三种专利申请中<
th>
个人<
职务小计<
大专院校<
科研单位<
企业<
机关团体<
<
<
td>
b>
/b>
/td>
总计<
6814<
2088<
3763<
963<
828<
5986<
412<
536<
4920<
118<
<
1<
海淀区<
2157<
823<
1033<
301<
246<
1911<
264<
337<
1229<
81<
2<
朝阳区<
1181<
569<
407<
205<
192<
989<
64<
92<
825<
8<
3<
西城区<
1095<
259<
758<
78<
51<
1044<
10<
19<
1001<
14<
4<
昌平区<
416<
225<
113<
55<
361<
34<
5<
318<
东城区<
393<
100<
262<
31<
37<
356<
0<
9<
340<
7<
6<
丰台区<
388<
84<
40<
99<
289<
16<
62<
209<
大兴区<
387<
254<
49<
332<
314<
顺义区<
304<
21<
228<
285<
通州区<
164<
18<
109<
29<
135<
127<
/cent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 利用 phpexcel 插件 实现 数据 导入 导出 支持 csvxlsxlsx 格式 超过 26 字段
链接地址:https://www.bdocx.com/doc/20732257.html