关于php上传excel工具类的信息

本文目录一览:

php如何实现上传导入excel数据?

难道你导入的时候不是选择的本地 文件吗?input框获取之后 提交过去就可以导入了啊 phpexcel中有例子的啊 可以看看简单的嘛 基本上 按那个例子改点东西就可以用了啊

如何用php实现上传excel

第一,在前台html页面进行上传文件:如:

复制代码代码如下:

form method=”post” action=”php文件”enctype=”multipart/form-data”

h3导入Excel表:/h3input type=”file” name=”file_stu” /

input type=”submit” value=”导入”/

/form

第二,在对应的php文件进行文件的处理

复制代码代码如下:

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

{

$tmp_file = $_FILES [‘file_stu’] [‘tmp_name’];

$file_types = explode ( “.”, $_FILES [‘file_stu’][‘name’] );

$file_type = $file_types [count ( $file_types ) – 1];

/*判别是不是.xls文件,判别是不是excel文件*/

if (strtolower ( $file_type ) !=”xls”)

{

$this-error ( ‘不是Excel文件,重新上传’ );

}

/*设置上传路径*/

$savePath = SITE_PATH . ‘/public/upfile/Excel/’;

/*以时间来命名上传的文件*/

$str = date ( ‘Ymdhis’ );

$file_name = $str . “.” . $file_type;

/*是否上传成功*/

if (! copy ( $tmp_file, $savePath . $file_name ))

{

$this-error ( ‘上传失败’ );

}

/*

*对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中

注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入

*/

$res = Service ( ‘ExcelToArray’ )-read ( $savePath . $file_name );

/*

重要代码解决Thinkphp M、D方法不能调用的问题

如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码

*/

//spl_autoload_register ( array (‘Think’, ‘autoload’ ) );

/*对生成的数组进行数据库的写入*/

foreach ( $res as $k = $v )

{

if ($k != 0)

{

$data [‘uid’] = $v[0];

$data [‘password’]= sha1 ( ‘111111’ );

$data [’email’] =$v [1];

$data [‘uname’] = $v [3];

$data [‘institute’] = $v [4];

$result = M ( ‘user’ )-add( $data );

if (! $result)

{

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

}

}

}

}

第三:ExcelToArrary类,用来引用phpExcel并处理Excel数据的

复制代码代码如下:

class ExcelToArrary extends Service{

public function __construct() {

/*导入phpExcel核心类 注意:你的路径跟我不一样就不能直接复制*/

include_once(‘./Excel/PHPExcel.php’);

}

/**

* 读取excel $filename 路径文件名$encode 返回数据的编码默认为utf8

*以下基本都不要修改

*/

public function read($filename,$encode=’utf-8′){

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

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

}

}

怎么写一个php能实现上传excel并导入进mysql呢?还有怎么从mysql导出进一个新的exc

可以使用excel插件,这个相对复杂。

说个非常简单的,一般ecel文件可以保存成为csv文件,然后你就可以进行csv的文件处理。

csv的组成一般是

col1,col2,col3

col12,col22,col33

可见,只要使用explode 两次就可以得到一个

array(

array(ccol1,col2,col3),

array(col12,col22,col33);

)

二维数组,然后批量导入这个二维数组就很简单了。

导出是一样的额,写入一个,想办法把取出的数据构造成

col1,col2,col3

col12,col22,col33

这样的字符串,然后使用header函数即可导出csv文件,csv可以使用excel直接打开

纯手打,望采纳!

php 上传excel 表格 PHPExcel类,出现错

ZipArchive library is not enabled:出现这个错误说明是程序在调用’ZipArchive’ 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。

请在php.ini找到extension=php_zip.dll并把前面的分号去掉(如果没有,请添加extension=php_zip.dll此行并确保php_zip.dll文件存在相应的目录),保存后重启php即可。

在Unix/Linux下的解决办法:

1、在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。具体安装方法如下:

cd /usr/src

wget

tar -zxvf zip

cd zip-1.x.x

phpize

./configure

make

sudo make instal

其中, 在最后使用make install命令的时候,可能需要用到root的权限,所以建议使用sudo来运行。安装完之后,屏幕上会提示zip.so的位置。然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so。

2、使用root权限修改php.ini(通常可能会在/usr/local/lib/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看):

增加extension = /usr/local/lib/php/extensions/zip.so,然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;

3、最后别忘了重启一下Apache:apachectl restart;

这个针对php的zip模块就安装完成了,能够在php中使用ZipArchive类了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相关推荐

  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

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

    编程 2025-04-29
  • 如何通过jstack工具列出假死的java进程

    假死的java进程是指在运行过程中出现了某些问题导致进程停止响应,此时无法通过正常的方式关闭或者重启该进程。在这种情况下,我们可以借助jstack工具来获取该进程的进程号和线程号,…

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

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

    编程 2025-04-29
  • 注册表取证工具有哪些

    注册表取证是数字取证的重要分支,主要是获取计算机系统中的注册表信息,进而分析痕迹,获取重要证据。本文将以注册表取证工具为中心,从多个方面进行详细阐述。 一、注册表取证工具概述 注册…

    编程 2025-04-29
  • Java 监控接口返回信息报错信息怎么处理

    本文将从多个方面对 Java 监控接口返回信息报错信息的处理方法进行详细的阐述,其中包括如何捕获异常、如何使用日志输出错误信息、以及如何通过异常处理机制解决报错问题等等。以下是详细…

    编程 2025-04-29
  • 百度网盘Python上传

    百度网盘是一个常用的云存储平台,提供了多种上传文件的方式,其中包括使用Python进行上传。本文将从安装Python、安装依赖库、上传文件三个方面进行详细阐述。 一、安装Pytho…

    编程 2025-04-28
  • 使用Python爬虫获取电影信息的实现方法

    本文将介绍如何使用Python编写爬虫程序,来获取和处理电影数据。需要了解基本的Python编程语言知识,并使用BeautifulSoup库和Requests库进行爬取。 一、准备…

    编程 2025-04-28
  • Python运维工具用法介绍

    本文将从多个方面介绍Python在运维工具中的应用,包括但不限于日志分析、自动化测试、批量处理、监控等方面的内容,希望能对Python运维工具的使用有所帮助。 一、日志分析 在运维…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28

发表回复

登录后才能评论