这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。
一:首先是html部分
1
2
3
4
5
6
7
8
|
< html >
< body >
< form action = "upload_file.php" method = "post" enctype = "multipart/form-data" >
< input type = "file" name = "file" id = "file" />
< input type = "submit" name = "submit" value = "Submit" />
</ form >
</ body >
</ html >
|
二:就是去接收和处理上传的文件了。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
25
26
27
28
29
30
31
32
33
34
35
|
//文件存放的路径
$save_path = "/upload/" ;
//文件存放的文件夹
$save_files = $this ->geturl();
这个是以年月日新建的文件夹,仅供参考。
//先检查当前文件夹是否存在,如不存在,创建文件夹
function geturl()
{
$year = date ( 'Y' );
$month = date ( 'm' );
$day = date ( 'd' );
$str = $year . $month . $day ;
if ( strtoupper ( substr (PHP_OS,0,3))== 'WIN' ){
$path = getcwd () . "/upload/" . $str ;
} else {
$path = "/mnt/erp/" . $str ;
}
if (! file_exists ( $path )) //判断文件夹是否存在
{
mkdir ( $path );
}
//return $path."/";
return $str . "/" ;
}
//这个是上传文件到需要保存的位置,
if (!@move_uploaded_file( $_FILES [ $upload_name ][ "tmp_name" ], $save_path . $file_path )) {
$error = "error|上传文件错误." ;
exit (0);
}
|
下面开始获取你上传的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
|
//获取上传表格的数据
$file_name = $save_path . $file_path ; //获取上传文件的地址名称
require_once APPPATH . 'views/IDC/config/PHPExcel.php' ;
require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php' ;
require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php' ;
$objReader = PHPExcel_IOFactory::createReader( 'excel2007' ); //建立reader对象
$objPHPExcel = $objReader ->load( $file_name );
$sheet = $objPHPExcel ->getSheet();
$highestRow = $sheet ->getHighestDataRow(); // 取得总行数
$highestColumn_num = PHPExcel_Cell::columnIndexFromString( $sheet ->getHighestDataColumn()); //列数
//$columns = PHPExcel_Cell::getColumn($highestColumn_num);
$columns = array ( 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' );
$arr_result = array ();
$dealer_element = array ();
for ( $j = 2; $j <= $highestRow ; $j ++) {
for ( $k = 0; $k < count ( $columns ); $k ++) {
//读取单元格
$value = $objPHPExcel ->getActiveSheet()->getCell( $columns [ $k ] . $j )->getValue(); //这个就是获取每个单元格的值
$value = trim( $value );
if ( empty ( $value )) {
$value = NULL;
}
$dealer_element [ $k ] = $value ;
//这里可以根据要求,做一些数据的验证
}
$arr_result [ $j ] = $dealer_element ;
}
echo json_encode( $arr_result );
|
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家
原文链接:http://www.cnblogs.com/missphp/p/5830722.html