PHPExcel - excel 읽기

7793 단어
인터넷에서 excel이 읽은 일부 자료를 찾았는데 개인적으로 PHPExcel은 이것은 그래도 매우 유용하고 비교적 완전한 도구라고 생각한다.
주요 기능은 업로드된 excel 파일을 읽고 데이터베이스에 삽입하거나 업데이트하는 것입니다.
  iconv("gbk","utf8",$_FILES["file"]["tmp_name"]),mysql_query("SET NAMES'utf8"), 인코딩 변환은 중국어가 데이터베이스에 잘못된 코드를 표시하는 것을 방지합니다.
다음은 주요 소스 코드입니다.
 1 header("Content-type:text/html;charset=utf-8");
 2 require_once('PHPExcel/Classes/PHPExcel.php');
 3 require_once('PHPExcel/Classes/PHPExcel/IOFactory.php');
 4 
 5 iconv("gbk","utf8",$_FILES["file"]["tmp_name"]);// 
 6 
 7 $fileType=PHPExcel_IOFactory::identify($_FILES["file"]["tmp_name"]);// 
 8 $objReader=PHPExcel_IOFactory::createReader($fileType);// 
 9 $objPHPExcel=$objReader->load($_FILES['file']['tmp_name']);// 
10 
11 $currentSheet = $objPHPExcel->getSheet(0); // 
12 $allRow = $currentSheet->getHighestRow(); // 
13 $letters_arr = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F',7=>'G',8=>'H',9=>'I',10=>'J',11=>'K',12=>'L',13=>'M', 14=>'N',15=>'O',16=>'P',17=>'Q',18=>'R',19=>'S',20=>'T',21=>'U',22=>'V',23=>'W',24=>'X',25=>'Y',26=>'Z');
14  
15  
16 $con=mysql_connect('localhost','root','root') 
17 or die(' !<br />'.mysql_error());
18 
19 $db=mysql_select_db('db_product',$con);
20 mysql_query("SET NAMES 'utf8'");
21 for($currentRow = 3;$currentRow<=$allRow;$currentRow++){ 
22   $rowValues='';
23   $id=(string)($currentSheet->getCell('C'.$currentRow)->getValue());
24 
25   $select_id=mysql_query("SELECT * FROM t_shop WHERE productNum='$id'"); 
26   $result=mysql_fetch_array($select_id);
27   
28  
29   if(!$result){// 
30     foreach ($letters_arr as $key => $value) {
31     $xh=$currentSheet->getCell($value.$currentRow)->getValue();
32     if($key>14)break;
33     $rowValues=$rowValues.($key>1?',':'').'\''.$xh.'\'';
34 
35 
36     }
37     
38     $sql="INSERT INTO t_shop (shopName,brand,productNum,spec,barCode,category,productName,orderNumber,deliveryNumber,returnNumber,returnBackNumber,salesPrice,costPrice,profit) VALUES (".$rowValues.")";
39     mysql_query($sql);
40   }
41   else{
42     
43     $reValues=re_row($result,$letters_arr,$currentSheet,$currentRow);
44     $sql="UPDATE t_shop SET shopName='$reValues[0]',brand='$reValues[1]',spec='$reValues[2]',barCode='$reValues[3]',category='$reValues[4]',productName='$reValues[5]',orderNumber=$reValues[6],deliveryNumber=$reValues[7],returnNumber=$reValues[8],returnBackNumber=$reValues[9],salesPrice=$reValues[10],costPrice=$reValues[11],profit=$reValues[12] WHERE productNum='$id'";
45     mysql_query($sql);
46     echo mysql_error().$id.'###';
47     print_r($reValues);
48     echo '<br />';
49    } 
50   
51   
52 
53   }
54  
55 mysql_close($con);
56 
57 function re_row($s,$a,$obj,$currentRow){
58   $b=$d='';
59    foreach ($a as $key => $value) {
60     $xh=$obj->getCell($value.$currentRow)->getValue();
61     if($key>14)break;
62      $d[]=$xh;
63 
64 
65     }
66 
67   foreach ($d as $key => $value) {
68     if($key!=2 && $key<7){
69          $b[]= (string)$value;
70     }
71     elseif($key>6){
72       $b[]=$s[$key]+$value;
73     }
74 
75    
76   }
77   return $b;
78 }

 
  
 

좋은 웹페이지 즐겨찾기