excel 更新mysql数据库_将excel 中的数据更新到数据库

这篇博客讲述了如何在业务需求下,通过SQL语句将Excel文件中的数据更新到MySQL数据库。文章详细介绍了在执行过程中遇到的错误,如OLE DB驱动问题、Ad Hoc Distributed Queries组件禁用、文件路径问题以及Excel版本与SQL语句不符等问题,并提供了相应的解决方案,包括安装64位AccessDatabaseEngine驱动、开启Ad Hoc Distributed Queries组件、调整SQL语句等。
摘要由CSDN通过智能技术生成

由于业务需求,需要将excel 文件中某一列的数据按照对应关系更新到已有的表中,即将表中某一列的数据按照对应关系更新到已有的数据中,从网上搜索到了一些代码但是在实际使用过程中还是遇到不少问题,下面列出可执行代码,以及更新数据中出现的问题及解决方案。

-- 连接成功以后excel 文件就类似一个小型的数据库,里面的工作表就类似数据库里的表

-- 通过搜索语句可以检测是否能正确连接并读取excel 语句

SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="e:\test1.xlsx";Extended properties=Excel 13.0')...sheet1$ as a

-- 更新语句

update Interface_Voucher_Head set hscode = (SELECT top 1 a.凭证编号 FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="e:\test1.xlsx";Extended properties=Excel 5.0')...sheet1$ as a where right(a.OA单据号,14) = Interface_Voucher_Head.PayID)

出错提示:

因为 OLE DB 访问接口 'MICROSOFT.JET.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。

报错原因:

在64SQL Engine中已经不提供jet.oledb.4.0的驱动

解决办法:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值