excel 导入mysql

本文详细介绍了在不同编码环境下,如何使用PHP进行Excel文件转CSV文件,以及如何根据数据库编码设置正确地导入数据。包括了GBK编码和UTF-8编码两种情况下的操作步骤和代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一页面是gbk编码时
1:excel文件转成csv文件(默认为中文编码,所以当页面为utf,和数据库中文字符也是utf编码时会乱码)
2:数据库的中文字段设成gbk
3:写入数据前用mysql_query("set names 'gbk'")
4:程序如下:
----------------------------------------------------------------------------------
<?php
header("content-type:text/html;charset=gbk");

//连接数据库文件
$connect=mysql_connect("localhost","root","") or die("链接数据库失败!");
//连接数据库(test)
mysql_select_db("company",$connect) or die (mysql_error());

$temp=file("Book.csv");//连接EXCEL文件,格式为了.csv
for ($i=0;$i<count($temp);$i++)
{
$string=explode(",",$temp[$i]);//通过循环得到EXCEL文件中每行记录的值
//将EXCEL文件中每行记录的值插入到数据库中
//print_r($string);
/*
$q="insert into product (name,num,dom) values('$string[0]','$string[1]','$string[2]');";*/
$q = "INSERT INTO `product` ( `category` , `twocats` , `info` , `size` , `num` )
VALUES ('$string[0]', '$string[1]',NULL, '$string[2]', '$string[3]');";
mysql_query('set names "gbk"');
mysql_query($q) or die (mysql_error());
/*
if (!mysql_error());
{
echo " 成功导入数据!";
}*/
unset($string);
}
?>


二页面是utf-8编码时
1:excel文件转成csv文件(默认为中文编码,改为utf-8无bom,用ultraEdit编辑另存为就行)
2:数据库的中文字段设成utf8
3:写入数据前用mysql_query("set names 'utf8'")
4:程序如下:
----------------------------------------------------------------------------------
<?php
header("content-type:text/html;charset=utf-8");

//连接数据库文件
$connect=mysql_connect("localhost","root","") or die("链接数据库失败!");
//连接数据库(test)
mysql_select_db("company",$connect) or die (mysql_error());

$temp=file("Book.csv");//连接EXCEL文件,格式为了.csv
for ($i=0;$i<count($temp);$i++)
{
$string=explode(",",$temp[$i]);//通过循环得到EXCEL文件中每行记录的值
//将EXCEL文件中每行记录的值插入到数据库中
//print_r($string);
/*
$q="insert into product (name,num,dom) values('$string[0]','$string[1]','$string[2]');";*/
$q = "INSERT INTO `product` ( `category` , `twocats` , `info` , `size` , `num` )
VALUES ('$string[0]', '$string[1]',NULL, '$string[2]', '$string[3]');";
mysql_query('set names "utf8"');
mysql_query($q) or die (mysql_error());
/*
if (!mysql_error());
{
echo " 成功导入数据!";
}*/
unset($string);
}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值