废话不多说,直接给大家贴代码了,代码附有注释,相信大家都能看懂的,有不明白的地方欢迎给我留言。
前端HTML+JQuery 备注Jquery需要1.x版本,不能用2.x版本
1.引入必要文件及上传input
?
1
2
3
4
|
<load file= "__PUBLIC__/js/jquery-1.11.3.min.js" />
<load file= "__PUBLIC__/uploadify/jquery.uploadify.min.js" />
<load file= "__PUBLIC__/uploadify/uploadify.css" />
<input type= "file" class= "" id= "student" name= "student" >
|
2.uploadify使用操作
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<script>
$( function (){
//ThinkPHP上传地址
var upload = "{:U(MODULE_NAME.'/Student/upload')}" ;
//ThinkPHP sessionID的提交变量
//'VAR_SESSION_ID'=>'session_id',在ThinkPHP/Conf/convention.php中进行配置,默认关闭的需要开启
var sid = '{:session_id()}' ;
//导入数据地址
var daoruUrl = "{:U(MODULE_NAME.'/Student/daoruHandle')}"
//Amaze ui 模态框
var modal = $( '#my-modal-loading' );
//uploadify使用方法
$( '#student' ).uploadify({
'swf' : '__PUBLIC__/uploadify/uploadify.swf' ,
'uploader' : upload,
'buttonText' : '选择文件...' ,
'width' :120,
'height' :30,
'formData' :{ 'session_id' :sid},
'fileTypeExts' : '*.xls' ,
//开始上传弹出模态框
'onUploadStart' : function (file) {
$( '#alert-content' ).html( '正在上传文件' );
modal.modal();
},
//上传成功关闭模态框,并用后台函数导入数据
'onUploadSuccess' : function (file, data, response){
$( '#alert-content' ).html( '正在导入数据' );
data = eval( "(" +data+ ")" );
$.ajax({
type: 'POST' ,
url: daoruUrl,
data: { 'file' :data.file},
success: function (retdata){
modal.modal( 'close' );
if (retdata==1){
alert( '导入成功' );
} else {
alert( '导入失败' );
}
},
dataType: 'json'
});
}
});
});
</script>
|
3、ThinkPHP控制器上传操作:备注需要引入Upload.class.php空间
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function upload(){
$config = array(
'maxSize' => 3145728,
'rootPath' => './Uploads/' ,
'savePath' => '' ,
'saveName' => array( 'uniqid' , '' ),
'exts' => array( 'xls' ),
'autoSub' => true ,
'subName' => array( 'date' , 'Ymd' ),
);
$upload = new Upload($config);
// 上传文件
$info = $upload->upload();
if (!$info) { // 上传错误提示错误信息
$ this ->error($upload->getError());
} else { // 上传成功 获取上传文件信息
$file = $info[ 'Filedata' ][ 'savepath' ].$info[ 'Filedata' ][ 'savename' ];
}
//p($info);
$data = array(
'file' => './Uploads/' .$file,
);
echo json_encode($data);
}
|
4.导入数据进去mysql
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//导入数据处理
function daoruHandle(){
$file = I( 'file' );
$excelData = excel_to_mysql($file);
foreach($excelData[ 'data' ] as $row){
$data = array(
'xuehao' =>$row[ 'xuehao' ],
'xingming' =>$row[ 'xingming' ],
'xingbie' =>($row[ 'xingbie' ]== '男' )?1:0,
'mima' =>md5($row[ 'mima' ]),
);
M( 'student' )->add($data);
}
echo 1;
}
|
5.PHPExcel读取Excel文件返回数据函数
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
function excel_to_mysql($file){
//导入PHPExcel第三方类库
//vendor('PHPExcel.PHPExcel');
import( 'Classes.PHPExcel' ,COMMON_PATH, '.php' );
//实例化PHPExcel类,用于接收Excel文件
$PHPExcel = new PHPExcel();
//读取Excel文件类实例化
$PHPReader = new PHPExcel_reader_Excel5();
//检测Excel版本是否可读
if (!$PHPReader->canRead($file)){
$PHPReader = new PHPExcel_Reader_Excel2007();
if (!$PHPReader->canRead($file)) return array( 'error' =>1); //未知版本的Excel
}
//读取Excel文件
$PHPExcel = $PHPReader->load($file);
//获得Excel中表的数量
$sheetCount = $PHPExcel->getSheetCount();
//获得第一张工作表
$sheet=$PHPExcel->getSheet(0);
//获得表中最大数据列名
$column = $sheet->getHighestColumn();
//获得表中最大数据行名
$row = $sheet->getHighestRow();
//循环获得表中数据
for ($i=1;$i<=$row;$i++){
$data[] = array(
//通过工作表对象的getCell方法获得单元格 getValue方法获得该单元格数值
'xuehao' =>$sheet->getCell( 'A' .$i)->getValue(),
'xingming' =>$sheet->getCell( 'B' .$i)->getValue(),
'xingbie' =>$sheet->getCell( 'C' .$i)->getValue(),
'mima' =>$sheet->getCell( 'D' .$i)->getValue(),
);
}
//释放工作表对象
unset($sheet);
//释放读取Excel文件对象
unset($PHPReader);
//释放Excel文件对象
unset($PHPExcel);
//返回数据
return array( 'error' =>0, 'data' =>$data);
}
|
相关文章
猜你喜欢
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 47
-
2025-06-04 85
-
2025-05-27 27
-
2025-05-25 85
-
2025-05-29 97
热门评论