作者:乔山办公网日期:
返回目录:excel表格制作
把excel 改为 cvs文件
<?
//连接数据7a64e59b9ee7ad94361库文件
$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);
}
?>
下面是我最初研究生成Excel文件的代码,后来我用面向对象重写,你先看看这个代码吧,很简单的,想要面向对象的再联系!
<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "root";
$DB_DBName = "lost_property";
$DB_TBLName = "wuping";
$savename = date("YmjHis");
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
mysql_query("Set Names 'gbk'");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=big5");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");
$now_date = date("Y-m-j H:i:s");
$title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份e799bee5baa6e997aee7ad94e4b893e5b19e335日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());
echo("$title\n");
$sep = "\t";
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
}
print("\n");
// $i = 0;
while($row = mysql_fetch_row($result)) {
$schema_insert = "";
for($j=0; $j< mysql_num_fields($result);$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
else if ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
// $i++;
}
return (true);
?>
这个嘛,需要多次调试的啊!
vendor("PHPExcel.PHPExcel");//这里是导入PHPexcl,我用的e5a48de588b6e799bee5baa6e79fa5e98193337thinkphp框架!其他框架自己导入文件
$file_name=excel文件路径;//这里是EXCEL文件路径
$objReader = PHPExcel_IOFactory::createReader('Excel5');//不要管这行
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');//把EXCEL转化为对象
$sheet = $objPHPExcel->getSheet(0);//取得excel工作sheet;
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
for($i=2;$i<=$highestRow;$i++){
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
$data['数据库字段名'] =$objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();//ABCD.....就是excel对应的ABCDEF......
M('Users')->add($data);//thinkphp的存储方法(具体你用什么框架或者原生代码,自己去insert,数据格式自己构造)
}
这是我写过的,绝对能用,不行你再找我!!
<?php
if($_POST[sub]){
$uptypes=array('application/vnd.ms-excel','application/octet-stream');
$max_file_szie=20*pow(2,20); //上传e799bee5baa6e58685e5aeb9332的文件小于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>");
}
?>