PHPExcel——读取excel

   在网上找了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 }

  

PHPExcel——读取excel

时间: 2024-11-05 02:30:01

PHPExcel——读取excel的相关文章

(实用篇)PHPExcel读取Excel文件的实现代码

用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点:  php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进制数 php对excel日期格式读取,并进行显示转化 php对汉字乱码进行编码转化 <?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianToJD(1, 1, 1

PHPExcel读取excel文件示例

PHPExcel的类库下载地址:  https://github.com/PHPOffice/PHPExcel 转载自: http://www.imhdr.com/1332/comment-page-1/ PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包中带有大量如何生成各种样式excel文件的示例,但没有一个读取Excel文件的完整例子.Xiaoqiang根据网上的资料,整理了一份简单读取Excel文件的例子.传统方法: <?php /** * * @copyright 2

ThinkPHP3.2.3 PHPExcel读取excel插入数据库

版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; 代码: 代码主要在index方法中,有数据提交则写入数据库,否则展示表单 1 <?php 2 namespace Home\Controll

PHPExcel读取Excel文件的实现代码

<?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianToJD(1, 1, 1970); $gregorian = JDToGregorian($jd+intval($val)-25569); return $gregorian;/**显示格式为 “月/日/年” */ } $filePath = 'test.xlsx'; $PHPExcel = new PHP

thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片

<?php class GetpriceAction extends AdministratorAction { // 文件保存路径 protected $savepath; // 允许上传的文件类型 protected $allowFileType; public function _initialize(){ parent::_initialize(); $this->savepath = './xxx/'.date('Ymd').'/'; $this->allowFileType

PHPExcel读取excel文件

<?php set_time_limit(0); $dir = dirname(__FILE__);//当前脚本所在路径 require $dir."/PHPExcel_1.8.0/Classes/PHPExcel.php"; //$objPHPExcel = new PHPExcel();//实例化PHPExcel类 $filename = $dir."/20151016091328_95039.xls"; $objPHPExcel=PHPExcel_IOF

Yii 集成 PHPExcel读取Excel文件

PHPexcel官方下载以后,放入Yii的protected\extensions\phpexcel下面 try { spl_autoload_unregister(array('YiiBase', 'autoload')); $phpExcelPath = Yii::getPathOfAlias('application.extensions.phpexcel.PHPExcel'); include($phpExcelPath . DIRECTORY_SEPARATOR . 'IOFactor

phpexcel读取excel的xls xlsx csv格式

我之前写过一篇PHP读取csv文件的内容 上代码index.php <?php /** * * @author XC * */ class Excel { public $currentSheet; public $filePath; public $fileType; public $sheetIndex=0; public $allColumn; public $allRow; public function initialized($filePath) { if (file_exists(

PHPExcel生成或读取excel文件

以下是详细代码示例: <?php /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释. * 如果使用 Excel5 ,输出的内容应该是GBK编码. */ require_once 'PHPExcel.php';// uncomment ////require_once 'PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls // or ////require_once 'PHPExcel/Writer/Ex