php把excel导入mysql数据库中_PHP把excel(xls)文件导入mysql数据库

excel导入mysql数据库我整理了两种办法,一种就是使用PHP-ExcelReader来导入,另一种是把excel转换成csv文件直接使用php相关函数导入即可。

昨晚一个客户联系我做网站,提出的要求是需要把客户提供的excel文件里面的数据导入到mysql数据库,最常用的方法就是先把xls文件导出为csv格式的文件,然后在解析csv格式的文件导入到mysql数据库。方法比较冗余,而且分好几步进行,很不方便,断桥残雪今天介绍一种方法是直接跳过csv的中间环节,直接把excel文件导入mysql数据库。

首先我们需要下载PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,下载地址:http://sourceforge.net/projects/phpexcelreader,下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.php(这个文件默认的是oleread.inc,不清楚为啥,一堆e文,没看,直接改名即可)。

在reader.php文件中找到以下类似代码(第一行既是),改成正确的oleread.php路径即可:require_once 'oleread.php';

然后新建一个php文件引入reader.php,代码如下:

代码如下

复制代码

$data->read('Book1.xls');//文件路径bKjia.c0m

error_reporting(E_ALL ^ E_NOTICE);

//这里我就只循环输出excel文件的内容了,要入库,只要把输出的地方,写一段mysql语句即可~

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {

for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {

echo """.$data->sheets[0]['cells'][$i][$j]."",";

}

echo "n";

}

?>

注意:请不要使用PHP-ExcelReader压缩包里面的xls进行测试,断桥残雪发现,那个文件既是使用excel也打不开,所以是错误的。

断桥残雪使用上面的方法解析了一个1.4M的数据,都显示正常,所以大家可以放心使用

phpexcel比较费资源,不过并不是所有的excel都能读取 我们可以转换成csv来操作

首先确认你的数据库是什么编码的,以utf-8为例,

你首先打开excel 文件,然后保存,选择为另存为.csv文件。

然后用文本编辑器打开.csv文件,另存为utf-8的csv

然后你写php 可以使用php 的getcsv 打开(这样确保你有的字段中含有,而导致解析错误),然后把解析的结果导入到数据库中。

如果是csv格式的我就不必要这么麻烦了

代码如下

复制代码

//连接数据库文件 www.bKjia.c0m

$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

{

$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);

}

?>

f68f2add0b68e4f9810432fce46917b7.png

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答您的问题。关于phpexcel导入mysql数据库文件的问题,您可以使用PHPExcel类来实现。以下是一个简单的实例,演示如何将Excel文件的数据导入MySQL数据库: 1. 首先,您需要下载并安装PHPExcel类库,您可以从GitHub上免费下载。 2. 创建一个名为import_excel.php文件,并在其包含PHPExcel文件: ``` require_once 'PHPExcel/Classes/PHPExcel.php'; ``` 3. 接下来,您需要连接到您的MySQL数据库。您可以使用以下代码: ``` $host = "localhost"; $username = "username"; $password = "password"; $dbname = "database_name"; $conn = mysqli_connect($host, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } ``` 4. 接下来,您需要读取Excel文件的数据。您可以使用以下代码: ``` $filename = "example.xlsx"; // Create new PHPExcel object $objPHPExcel = PHPExcel_IOFactory::load($filename); // Get worksheet dimensions $sheet = $objPHPExcel->getActiveSheet(); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // Loop through each row of the worksheet in turn for ($row = 2; $row <= $highestRow; $row++) { // Read a row of data into an array $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); // Insert row data into database $sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('" . $rowData[0][0] . "', '" . $rowData[0][1] . "', '" . $rowData[0][2] . "')"; if (mysqli_query($conn, $sql)) { echo "Record inserted successfully"; } else { echo "Error inserting record: " . mysqli_error($conn); } } ``` 5. 最后,记得关闭数据库连接: ``` mysqli_close($conn); ``` 这就是一个简单的使用PHPExcel类将Excel文件的数据导入MySQL数据库的示例。您可以根据自己的需求进行修改和扩展。希望能对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值