改为
cvs文件
?
//连接数据库文件
$connect=mysql_connect("localhost","admin","admin")
or
die("链接数据库失败!")
//连接数据库(test)
mysql_select_db("testcg",$connect)
or
die
(mysql_error())
$temp=file("test.csv")//连接EXCEL文件,格式为了.csv
for
($i=0$i
<count($temp)$i++)
{
$string=explode(",",$temp[$i])//通过循环得到EXCEL文件中每行记录的值
//将EXCEL文件中每行记录的值插入到数据库中
$q="insert
into
ceshi
(name,num,dom)
values('$string[0]','$string[1]','$string[2]')"
mysql_query($q)
or
die
(mysql_error())
if
(!mysql_error())
{
echo
"
成功导入数据!"
}
echo
$string[4]."\n"
unset($string)
}
?
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("请选择上传的文件")
}
}
php读取excel有现成的类,可以在网上下载到,但是真心不好用。如果文档复杂,建议还是将excel转换成csv格式,然后用php读取,php读取csv格式有现成的函数,php系统函数,其实不用系统函数也很简单,csv格式就相当于文本文件。随便怎么读都可以。再用分割符分离就好了。导入到oracle就是单纯的数据库 *** 作了,连接oracle有现成的php函数,不过默认php环境是不支持的,需要修改php.ini,配置成支持oracle就好了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)