当前位置:首页 » 数据仓库 » php数据库导入excel表
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

php数据库导入excel表

发布时间: 2023-06-11 12:51:20

‘壹’ 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['ljdi']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();

M('jdb')->add($data);//插入数据库

}

$this->success('导入成功!');

}else

{

$this->error("请选择上传的文件");

}

}

‘贰’ PHP 用PHPExcel往数据库导入大量数据

1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。

‘叁’ php 怎么把数据导出到excel表格

php 把数据导出到excel表格有多种方法,比如使用 phpExcel 等,以下代码是直接通过 header 生成 excel 文件的代码示例:

<?php

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");

$cfg_dbhost='localhost';
$cfg_dbname='testdb';
$cfg_dbuser='root';
$cfg_dbpwd='root';
$cfg_db_language='utf8';
//END配置

//链接数据库
$link=mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//选择编码
mysql_query("setnames".$cfg_db_language);

//users表
$sql="descusers";

$res=mysql_query($sql);
echo"<table><tr>";
//导出表头(也就是表中拥有的字段)
while($row=mysql_fetch_array($res)){
$t_field[]=$row['Field'];//Field中的F要大写,否则没有结果
echo"<th>".$row['Field']."</th>";
}
echo"</tr>";
//导出100条数据
$sql="select*fromuserslimit100";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res)){
echo"<tr>";
foreach($t_fieldas$f_key){
echo"<td>".$row[$f_key]."</td>";
}
echo"</tr>";
}
echo"</table>";

?>