
正文
phpexcel数据库 php表格显示数据库信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkPHP3.2使用phpexcel导入文件到数据库
这是我写过的phpexcel数据库,绝对能用phpexcel数据库,不行phpexcel数据库你再找我phpexcel数据库!phpexcel数据库!
?php
if($_POST[sub]){
$uptypes=array('application/vnd.ms-excel','application/octet-stream');
$max_file_szie=20*pow(2,20); //上传的文件小于20MB
$destination_folder='../conn/'; //上传文件保存路径
if($_SERVER['REQUEST_METHOD']=='POST'){
if(!is_uploaded_file($_FILES['upfile']['tmp_name'])){
exit("script alert('文件不存在!');history.back();/script");
}
if($max_file_szie$_FILES['upfile']['size']){
exit("script alert('文件太大了!');history.back();/script");
}
if(!in_array($_FILES['upfile']['type'],$uptypes)){
echo '文件类型不符合!'.$_FILES['upfile']['type'];
exit("script alert('文件类型不符合!');history.back();/script");
}
if(!file_exists($destination_folder)){
mkdir($destination_folder);
}
$filename=$_FILES['upfile']['tmp_name'];
$image_size=getimagesize($filename);
$pinfo=pathinfo($_FILES['upfile']['name']); //文件路径信息
$ftype=$pinfo['extension']; //旧文件后缀名
$destination = $destination_folder.$_FILES['upfile']['name']; //新文件名称
if(file_exists($destination)$voerwrie !=true){
exit("script alert('同名文件已经存在了!');history.back();/script");
}
//把上传的文件从临时文件夹移动到指定目录
if(!move_uploaded_file($filename,$destination)){
exit("script alert('移动文件出错了!');history.back();/script");
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
$tpfile=$destination;//上传文件名
//-----------上传成功,导入数据star-----
$dataf=$tpfile;
if(!file_exists($dataf))
{
exit("文件不存在"); //文件不存在
}
$file = fopen("$dataf",'r');
while ($d = fgetcsv($file)) { //每次读取CSV里面的一行内容
//print_r($d); //此为一个数组,要获得每一个数据,访问数组下标即可
$type="`uid`='$d[0]' name='$d[1]'";
$dsql=dbst($tableqz.message2,$type);
if(!$dsql){
$uid=trim($d[0]); //编号
$name=trim($d[1]); //客户名称
$type="(`uid`, `username`, `password`) VALUES (NULL, '$uid', '$name');";
dbin(hh_members,$type);
}
}
fclose($file);
unlink("$dataf");
}
//---上传end
exit("script alert('成功导入了所有数据!');history.back();/script");
}
?
相关问答
Q1: phpexcel怎么导出数据库
个人感觉 PHPExcel还是很好用的,首先到官方网站下载最近版本的PHPExcel,解压后会发现里面有class、Documentation、Tests三个文件夹和三个txt的日志文件,主要用到的是Class文件,而Tests主要是一些demo示例
下面来介绍一下PHPExcel的简单用法,这里是与数据库连接的:
首先,要包含PHPExcel.PHP
require_once 'Classes/PHPExcel.php'; //路径根据自己实际项目的路径进行设置
$objPHPExcel = new PHPExcel(); //创建PHPExcel实例
//下面是对MySQL数据库的连接
$conn = mysql_connect("localhost","root","") or die("数据库连接失败!");
mysql_select_db("image",$conn); //连接数据库
mysql_query("set names 'GBK'"); //转换字符编码
$sql = mysql_query("select * from test"); //查询sql语句
/*--------------设置表头信息------------------*/
$objPHPExcel-setActiveSheetIndex(0)
-setCellValue('A1', 'ID编号')
-setCellValue('B1', '月份')
-setCellValue('C1', '产品一')
-setCellValue('D1', '产品二')
-setCellValue('E1', '产品三');
/*--------------开始从数据库提取信息插入Excel表中------------------*/
$i=2; //定义一个i变量,目的是在循环输出数据是控制行数
while($rs=mysql_fetch_array($sql)){
$rm = iconv("GB2312","UTF-8",$rs[1]); //对字符进行编码将数据库里GB2312的中文字符转换成UTF-8格式
$objPHPExcel-setActiveSheetIndex(0)
-setCellValue("A".$i, $rs[0])
-setCellValue("B".$i, $rm)
-setCellValue("C".$i, $rs[2])
-setCellValue("D".$i, $rs[3])
-setCellValue("E".$i, $rs[4]);
$i++;
}
/*--------------下面是设置其他信息------------------*/
$objPHPExcel-getActiveSheet()-setTitle('Example1'); //设置sheet的名称
$objPHPExcel-setActiveSheetIndex(0); //设置sheet的起始位置
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //通过PHPExcel_IOFactory的写函数将上面数据写出来
$objWriter-save(str_replace('.php', '.xls', __FILE__)); //设置以什么格式保存,及保存位置
至此,一个完整的将mysql数据库里的信息用PHP导出Excel实例做完,可能在运行的时候会发生一些问题,如中文乱码,表头可能显示不出来,这是因为文件编码格式的原因,将文件编码设置成UTF-8就行了,在此我就不做太多解释了。
Q2: PHP 如何利用phpexcel导入数据库
?php
error_reporting(E_ALL); //开启错误
set_time_limit(0); //脚本不超时
date_default_timezone_set('Europe/London'); //设置时间
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . '/');//设置环境变量
/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';
//$inputFileType = 'Excel5'; //这个是读 xls的
$inputFileType = 'Excel2007';//这个是计xlsx的
//$inputFileName = './sampleData/example2.xls';
$inputFileName = './sampleData/book.xlsx';
echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'br /';
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader-load($inputFileName);
/*
$sheet = $objPHPExcel-getSheet(0);
$highestRow = $sheet-getHighestRow(); //取得总行数
$highestColumn = $sheet-getHighestColumn(); //取得总列
*/
$objWorksheet = $objPHPExcel-getActiveSheet();//取得总行数
$highestRow = $objWorksheet-getHighestRow();//取得总列数
echo 'highestRow='.$highestRow;
echo "br";
$highestColumn = $objWorksheet-getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
echo 'highestColumnIndex='.$highestColumnIndex;
echo "br /";
$headtitle=array();
for ($row = 1;$row = $highestRow;$row++)
{
$strs=array();
//注意highestColumnIndex的列数索引从0开始
for ($col = 0;$col $highestColumnIndex;$col++)
{
$strs[$col] =$objWorksheet-getCellByColumnAndRow($col, $row)-getValue();
}
$info = array(
'word1'="$strs[0]",
'word2'="$strs[1]",
'word3'="$strs[2]",
'word4'="$strs[3]",
);
//在这儿,你可以连接,你的数据库,写入数据库了
print_r($info);
echo 'br /';
}
?
Q3: thinkphp怎么把excel导入数据库
thinkPHP实现将excel导入到数据库中phpexcel数据库的方法体如下:
PHPExcel插件可点击此处本站下载。
这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面
下面是前端页面
提示:phpexcel数据库我在测试的时候遇到报错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("请选择上传的文件");
}
}
Q4: PHP 用PHPExcel往数据库导入大量数据
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。
Q5: 使用PHPExcel如何从数据库循环读取后输出?
哈 给phpexcel数据库你写phpexcel数据库了个方法可以用下
function channelexl($result=array(),$xlsfile=''){
require_once 'PHPExcel.php';
require_once 'PHPExcel/Writer/Excel2007.php';
$objExcel = new PHPExcel();
$objWriter = new PHPExcel_Writer_Excel2007($objExcel);
$objProps = $objExcel-getProperties();
$objProps-setCreator("hnn@chujian")-setLastModifiedBy(hnn@chujian12)-setKeywords(hnn@chujian12)-setCategory("report");
$sheet1 = $objExcel-createSheet();
$objExcel-setActiveSheetIndex(1);
$objActSheet = $objExcel-getActiveSheet();
$objActSheet-setTitle('数据表');
$objActSheet-getDefaultColumnDimension()-setWidth(12);
$count=count($result)+10;
//$objActSheet-getRowDimension(3)-setRowHeight(16);
$objActSheet-getStyle('A2:L'.$count)-getAlignment()-setWrapText(true);
$objActSheet-getStyle('A2:L'.$count)-getBorders()-getAllBorders()-setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objActSheet-getStyle('A2:L4')-getFill()-setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet-getStyle('A2:L4')-getFill()-getStartColor()-setRGB('CCCCCC');
$objActSheet-getStyle('A2:L'.$count)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objActSheet-setCellValue('A2', '渠道激活数据统计')-mergeCells('A2:L2');
$objActSheet-setCellValue('A3', '统计时间')-mergeCells('A3:A4');
$objActSheet-setCellValue('B3', '平台')-mergeCells('B3:B4');
$objActSheet-setCellValue('C3', '渠道名称')-mergeCells('C3:C4');
$objActSheet-setCellValue('D3', 'SID')-mergeCells('D3:D4');
$objActSheet-setCellValue('E3', '新增使用用户')-mergeCells('E3:E4');
$objActSheet-setCellValue('F3', '独立登录用户数')-mergeCells('F3:F4');
$objActSheet-setCellValue('G3', '新增注册会员')-mergeCells('G3:G4');
$objActSheet-setCellValue('H3', '独立登录会员总数')-mergeCells('H3:H4');
$objActSheet-setCellValue('I3', '新增登录IM会员数')-mergeCells('I3:I4');
$objActSheet-setCellValue('J3', '独立登录IM会员数')-mergeCells('J3:J4');
$objActSheet-setCellValue('K3', '使用总次数')-mergeCells('K3:K4');
$objActSheet-setCellValue('L3', '注册7天会员数')-mergeCells('L3:L4');
//取数据
$sum1=0;$sum2=0;$sum3=0;$sum4=0;$sum5=0;$sum6=0;$sum7=0;$sum8=0;
if(!empty($result)){
for($i=0;$isizeof($result);$i++){
$n=$i+4;
$objActSheet-setCellValue('A'.$n,$result[$i]['day']);
$objActSheet-setCellValue('B'.$n,$result[$i]['platform']);
$objActSheet-setCellValue('C'.$n,$result[$i]['name']);
$objActSheet-setCellValue('D'.$n,$result[$i]['channel']);
$objActSheet-setCellValue('E'.$n,$result[$i]['ITEM1']);
$objActSheet-setCellValue('F'.$n,$result[$i]['ITEM48']);
$objActSheet-setCellValue('G'.$n,$result[$i]['ITEM2']);
$objActSheet-setCellValue('H'.$n,$result[$i]['ITEM4']);
$objActSheet-setCellValue('I'.$n,$result[$i]['ITEM56']);
$objActSheet-setCellValue('J'.$n,$result[$i]['ITEM57']);
$objActSheet-setCellValue('K'.$n,$result[$i]['ITEM50']);
$objActSheet-setCellValue('L'.$n,$result[$i]['ITEM51']);
$sum1+=$result[$i]['ITEM1'];
$sum2+=$result[$i]['ITEM48'];
$sum3+=$result[$i]['ITEM2'];
$sum4+=$result[$i]['ITEM4'];
$sum5+=$result[$i]['ITEM56'];
$sum6+=$result[$i]['ITEM57'];
$sum7+=$result[$i]['ITEM50'];
$sum8+=$result[$i]['ITEM51'];
}
$num=count($result)+5;
$objActSheet-setCellValue('D'.$num, '合计');
$objActSheet-setCellValue('E'.$num, $sum1);
$objActSheet-setCellValue('F'.$num, $sum2);
$objActSheet-setCellValue('G'.$num, $sum3);
$objActSheet-setCellValue('H'.$num, $sum4);
$objActSheet-setCellValue('I'.$num, $sum5);
$objActSheet-setCellValue('J'.$num, $sum6);
$objActSheet-setCellValue('K'.$num, $sum7);
$objActSheet-setCellValue('L'.$num, $sum8);
}
$outputExcel ="D:\log.xlsx";
$objWriter-save($outputExcel);
return true;
}
phpexcel数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php表格显示数据库信息、phpexcel数据库的信息别忘了在本站进行查找喔。





