php导入xlsx,php怎么引入php

本文目录一览:

thinkphp3.1中的phpexcel导入怎么用

首先,去PHPExcel官方网站下载PHPExcel,官方地址为;.我下的是1.8.0版本的.解压后发现还是蛮大的,有十几M,不知道其他版本是不是会小点.

这里写图片描述

把解压好的PHPExcel文件放在ThinkPHP的Vender文件夹下(专门放第三方类库的),如下图

这里写图片描述

其次,创建Excel转换数组类,并把它放在ThinkPHP\Extend\Library\ORG\Util目录下

class ExcelToArrary {

public function __construct() {

Vendor(“PHPExcel.Classes.PHPExcel”);//引入phpexcel类(留意路径,不了解路径可以查看下手册)

Vendor(“PHPExcel.Classes.PHPExcel.IOFactory”); //引入phpexcel类(留意路径)

}

public function read($filename,$encode,$file_type){

if(strtolower ( $file_type )==’xls’)//判断excel表类型为2003还是2007

{

Vendor(“PHPExcel.Classes.PHPExcel.Reader.Excel5”); //引入phpexcel类(留意路径)

$objReader = PHPExcel_IOFactory::createReader(‘Excel5’);

}elseif(strtolower ( $file_type )==’xlsx’)

{

Vendor(“PHPExcel.Classes.PHPExcel.Reader.Excel2007”);//引入phpexcel类(留意路径)

$objReader = PHPExcel_IOFactory::createReader(‘Excel2007’);

}

$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;

}

}

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

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

如右图这里写图片描述

现在来说Excel,表格的结构样式和MySQL样式要类似,表格样式如下(本人对Excel使用只是一般,所以如果有Excel大神做的报表,不知后果如何).

这里写图片描述

前端页面相关代码:

div

form method=”post” action=”{:U(‘Index/upload’)}” enctype=”multipart/form-data”

font导入Excel数据:/font

label for=”file_stu”上传/label

input name=”file_stu” type=”file” id=”file_stu” /

h3温馨提示:/h3

p请确认您的Excel表格类型是xls的,以免出现兼容问题./p

inputtypeinputtype=”submit” class=”sure” value=”导入” /

/form

/div

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

最后,控制器部分使用了Thinkphp自带的上传类,使用unlink()函数是为了删除上传的excel表格,以免文件夹存入过多文件,调试代码时可先注释掉.或者不写也行,把删除文件的工作交给你们的运维.代码中foreach循环部分$v[]里的0, 1,2可以改动以下看看与Excel表格里的内容是什么关系.可以把数组打印出来看一看,你就很清楚了

相关代码:

public function upload(){

import(‘ORG.Util.ExcelToArrary’);//导入excelToArray类

if (! empty ( $_FILES [‘file_stu’] [‘name’] )){

import(‘ORG.Net.UploadFile’);

$upload = new UploadFile();// 实例化上传类

$upload-maxSize = 3145728 ;// 设置附件上传大小

$upload-allowExts = array(‘xls’, ‘xlsx’);// 设置附件上传类型

$upload-savePath = ‘./Uploads/’;// 设置附件上传目录

if(!$upload-upload()) {// 上传错误提示错误信息

$this-error($upload-getErrorMsg());

}else{// 上传成功 获取上传文件信息

$info = $upload-getUploadFileInfo();

}

}else{

$this-error(‘(⊙o⊙)~没传数据就导入?!你在逗我?!’);

}

//dump($info);die;

$ExcelToArrary=new ExcelToArrary();//实例化

$res=$ExcelToArrary-read($info[0][‘savepath’].$info[0][‘savename’],”UTF-8″,$info[0][‘extension’]);//传参,判断office2007还是office2003

$res = array_slice($res,1); //为了去掉Excel里的表头,也就是$res数组里的$res[0];

//dump($res);

foreach ( $res as $k = $v ){ //循环excel表

$data[$k][‘mobile’] = $v [0];//创建二维数组

$data[$k][‘name’] = $v [1];

$data[$k][‘duty’] = $v [2];

}

//dump($data);die;

$result=M(‘appkey’)-addAll($data);

if(!$result){

$this-error(‘导入数据库失败’);

exit();

}else{

$filename = ‘./Uploads/’.$info[0][‘savename’];//上传文件绝对路径,unlink()删除文件函数

if (unlink($filename)) {

$this-success ( ‘导入成功’ );

}else{

$this-error(‘缓存删除失败’);

}

}

}

求PHP 读取xlsx 导入mysql代码

?php

header(“content-Type:

text/html;

charset=

utf8

“);

error_reporting(0);

$

connection

=

mysql_connect(‘

localhost

‘,

‘root’,

‘password’);

// 连接数据库

mysql_select_db

(‘test’);

//

选择数据库

mysql_query(“SET

NAMES

‘utf8′”);

//

设置

字符集

//

连接EXCEL

$conn=new

com(“adodb.connection”,

NULL,

CP_UTF8);

$connstr=”Driver={Microsoft

Excel

Driver

(*.xls)};DBQ=”.realpath(“excel.xls”);

$conn-open($connstr);

$sql=”select

*

from

[Sheet1$]”;

//

查询EXCEL工作表

$rs=$conn-execute($sql);

while(!$rs-eof)

{

$id =

trim($rs-fields(id)-value);

//

将excel中Sheet1表中的id存到$id;

$name =

trim($rs-fields(name)-value);

//

将excel中Sheet1表中的name存到$name;

$sex

=

trim($rs-fields(sex)-value);

//

将excel中Sheet1表中的sex存到$sex;

// 生成SQL

INSERT语句

$sql

=

“INSERT

INTO

test(id,

name,

sex)

VALUES(‘$id’,

‘$name’,

‘$sex’)”;

//

插入数据库

mysql_query($sql);

$rs-movenext;

}

mysql_close

($connection);

?

thinkphp 怎么把数据库导入excel

本文实例讲述了thinkPHP实现将excel导入到数据库中的方法。分享给大家供大家参考,具体如下:PHPExcel插件可点击此处本站下载。这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面下面是前端页面提示:我在测试的时候遇到报错exception ‘PHPExcel_Reader_Exception’ with message ‘The filename原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了html head /head body form action=”{pigcms::U(‘Jdb/abcdefgwulisuibian’)}” method=”post” enctype=”multipart/form-data” input type=”file” name=”import”/ input type=”hidden” name=”table” value=”tablename”/ input type=”submit” value=”导入”/ /form /body /html 下面是php的function abcdefgwulisuibianuplod(){ $this-display();//显示页面 } function abcdefgwulisuibian(){ if (!empty($_FILES)) { import(“@.ORG.UploadFile”); $config=array( ‘allowExts’=array(‘xlsx’,’xls’), ‘savePath’=’./Public/upload/’, ‘saveRule’=’time’, ); $upload = new UploadFile($config); if (!$upload-upload()) { $this-error($upload-getErrorMsg()); } else { $info = $upload-getUploadFileInfo(); } vendor(“PHPExcel.PHPExcel”); $file_name=$info[0][‘savepath’].$info[0][‘savename’]; $objReader = PHPExcel_IOFactory::createReader(‘Excel5′); $objPHPExcel = $objReader-load($file_name,$encode=’utf-8’); $sheet = $objPHPExcel-getSheet(0); $highestRow = $sheet-getHighestRow(); // 取得总行数 $highestColumn = $sheet-getHighestColumn(); // 取得总列数 for($i=2;$i=$highestRow;$i++)//这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始 { $data[‘lianjieid’] = $objPHPExcel-getActiveSheet()-getCell(“A”.$i)-getValue();//数据库字段和excel列相对应 $data[‘yaoqingma’] = $objPHPExcel-getActiveSheet()-getCell(“B”.$i)-getValue(); $data[‘dlmima’]= $objPHPExcel-getActiveSheet()-getCell(“C”.$i)-getValue(); $data[‘ljdizhi’]= $objPHPExcel-getActiveSheet()-getCell(“D”.$i)-getValue(); M(‘jdb’)-add($data);//插入数据库 } $this-success(‘导入成功!’); }else { $this-error(“请选择上传的文件”); } } 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

原创文章,作者:PNVDG,如若转载,请注明出处:https://www.506064.com/n/324852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PNVDGPNVDG
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24
  • PHP导出Excel文件

    一、PHP导出Excel文件列宽调整 当我们使用PHP导出Excel文件时,有时需要调整单元格的列宽。可以使用PHPExcel类库中的setWidth方法来设置单元格的列宽。下面是…

    编程 2025-04-24
  • php扩展库初探

    一、什么是php扩展库? PHP扩展库(PHP extension)是一些用C语言编写的动态链接库,用于扩展PHP的功能。PHP扩展库使得PHP可以与各种数据库系统相连、SMTP、…

    编程 2025-04-23

发表回复

登录后才能评论