本文目录一览:
- excel内容导入mysql,请教excel内容的生成保存格式
- 如何通过PHP将excel的数据导入MySQL中
- PHPExcel如何从excel表导入到mysql数据库
- 用phpexcel把excel中的数据导入到MYSQL中日期发生错误如何解决
- 原生PHP代码实现excel导入,并添加数据到数据库.
- excel如何导入mysql
excel内容导入mysql,请教excel内容的生成保存格式
方法很多,不过建议你先看看mysql的开发文档,里面写的很详细的,如果你懒得看,可以看下面的
- 有个软件phpexcelparserprov4.2可以,你可以在这里下载:
- 可将excel存成csv格式。然后通过phpmyadmin倒入mysql
- 先导入access中,再弄到mysql中,或者自己写程序读出excel中数据然后存入mysql中
- 还有一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql中运行,这种方法适用于excel表格导入到各类sql数据库: 一、假设你的表格有a、b、c三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3 二、在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:
- 增加一列(假设是d列)
- 在第一行的d列,就是d1中输入公式:
=concatenate("insertintotable(col1,col2,col3)values('",a1,"','",b1,"','",c1,"');")
- 此时d1已经生成了如下的sql语句:
insertintotable(col1,col2,col3)values('a','11','33');
- 将d1的公式复制到所有行的d列(就是用鼠标点住d1单元格的右下角一直拖拽下去啦)
- 此时d列已经生成了所有的sql语句
- 把d列复制到一个纯文本文件中,假设为sql.txt 三、把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。
如何通过PHP将excel的数据导入MySQL中
从excel取出数据再倒入到mysql,可以借用phpexcel插件,如果数据多建议用导入导出用csv
PHPExcel如何从excel表导入到mysql数据库
这是我写过的,绝对能用,不行你再找我!!
<?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>");
}
?>
用phpexcel把excel中的数据导入到MYSQL中日期发生错误如何解决
授之以鱼不如授之以渔,我教你个思路。 步骤:
- 将一个带有日期字段的表导出成EXCEL文件。
- 打开EXCEL文件,查看日期的在表格中的存储方式。
- 模仿这种存储方式,将原来的数据修改成这种存储方式。
- 将EXCEL进行导入MYSQL中
- 查看数据是否符合要求。 备注:可以目标表可以的日期字段修改为varchar格式试一试。最后祝楼主工作顺利。
原生PHP代码实现excel导入,并添加数据到数据库.
我用的代码是:
<?php
//连接数据库文件
$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);
}
?>
phpexcel或者pear的一个组件 ,国内有一个excelclass的插件 都是用来处理excel的,前2个功能都比较强大,对编码的支持也都不错,推荐使用pear的那个,名字好像叫spreadsheet reader phpexcel比较费资源,不过并不是所有的excel都能读取 楼主可以到这里去看看 pear.php.net
顶楼上的回答~~顺便接个分!嘿嘿
AdO直接上传 注意有些字符mysql或ADO可能不支持
首先确认你的数据库是什么编码的,以utf-8为例, 你首先打开excel 文件,然后保存,选择为另存为.csv文件。 然后用文本编辑器打开.csv文件,另存为utf-8的csv 然后你写php 可以使用php 的getcsv 打开(这样确保你有的字段中含有,而导致解析错误),然后把解析的结果导入到数据库中。 然后完了。
excel如何导入mysql
第一步:建立数据库和数据表(按照自己的Excel数据设立字段)。
CREATE DATABASE php_excel;
USE php_excel;
CREATE TABLE IF NOT EXISTS php_excel(
id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
gid varchar(20) NOT NULL,
stu_no varchar(20) NOT NULL,
name varchar(45) NOT NULL,
age int(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
第二步:前台index.php文件。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>phpexcel导入excel数据到MYSQL数据库</title>
</head>
<body>
<form name="frm1" action="insertdb.php" method="post" enctype="multipart/form-data">
<input name="filename" type="file" />
<input name="submit" type="submit" value="import" />
</form>
</body>
</html>
第三步:向数据库插入数据的insertdb.php文件。
<?php
session_start();
header("Content-type:text/html;charset:utf-8");
//全局变量
$succ_result = 0;
$error_result = 0;
$file = $_FILES['filename'];
$max_size = "2000000"; //最大文件限制(单位:byte)
$fname = $file['name'];
$ftype = strtolower(substr(strrchr($fname,'.'),1)); //文件格式
$uploadfile = $file['tmp_name'];
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(is_uploaded_file($uploadfile)){
if($file['size'] > $max_size){
echo "Import file is too large";
exit;
}
if($ftype != 'xls'){
echo "Import file type is error";
exit;
}
}else{
echo "The file is not empty!";
exit;
}
}
require("./conn.php"); //连接mysql数据库
//调用phpexcel类库
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
require_once 'PHPExcel/Reader/Excel5.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5'); //use excel2007 for 2007 format
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$arr_result = array();
$strs = array();
for($j=2;$j<=$highestRow;$j++){
unset($arr_result);
unset($strs);
for($k='A';$k<=$highestColumn;$k++){
//读取单元格
$arr_result .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().',';
}
$strs = explode(",",$arr_result);
$sql = "insert into php_excel(gid,stu_no,name,age) values ($strs[0],'$strs[1]','$strs[2]',$strs[3])";
echo $sql."<br/>";
mysql_query("set names utf8");
$result = mysql_query($sql) or die("执行错误");
$insert_num = mysql_affected_rows();
if($insert_num > 0){
$succ_result += 1;
} else {
$error_result += 1;
}
}
echo "插入成功".$succ_result."条数据!!!<br>";
echo "插入失败".$error_result."条数据!!!";
?>
其中conn.php代码如下:
<?php
$mysql = mysql_connect("localhost","root","") or die("数据库连接失败!");
mysql_select_db("php_excel",$mysql);
mysql_query("set names utf8");
?>
我的导入效果如下: 至此,从Excel文件读取数据批量导入到Mysql数据库完成。