You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将大体积XLSX/CSV导入PhpMyAdmin?遇导入难题求解决

直接导入XLSX文件的解决方案(PHP环境)

方法一:使用PhpSpreadsheet库(推荐,PHPExcel官方替代版)

  1. 安装依赖
    通过Composer快速安装:
    composer require phpoffice/phpspreadsheet
    
  2. 导入代码示例
    <?php
    require 'vendor/autoload.php';
    
    use PhpOffice\PhpSpreadsheet\IOFactory;
    
    // 合理设置执行时间与内存限制(不建议设为0,避免耗尽服务器资源)
    ini_set('max_execution_time', 300);
    ini_set('memory_limit', '256M');
    
    try {
        // 加载目标XLSX文件
        $spreadsheet = IOFactory::load('你的数据集路径/kaggle_dataset.xlsx');
        $worksheet = $spreadsheet->getActiveSheet();
    
        // 逐行读取数据
        $dataset = [];
        foreach ($worksheet->getRowIterator() as $row) {
            $cellIterator = $row->getCellIterator();
            $cellIterator->setIterateOnlyExistingCells(false); // 保留空单元格数据
            $rowData = [];
            foreach ($cellIterator as $cell) {
                $rowData[] = $cell->getValue();
            }
            $dataset[] = $rowData;
        }
    
        // 此处可将$dataset写入数据库或进行后续处理
        print_r($dataset);
    } catch (\Exception $e) {
        echo '导入失败: ' . $e->getMessage();
    }
    ?>
    

方法二:使用PHPExcel(旧版兼容方案)

若无法使用Composer,可手动下载PHPExcel库,核心逻辑与上方一致:

<?php
require_once 'PHPExcel/PHPExcel.php';

$objPHPExcel = PHPExcel_IOFactory::load('你的数据集路径/kaggle_dataset.xlsx');
$worksheet = $objPHPExcel->getActiveSheet();
// 后续数据读取逻辑参考PhpSpreadsheet示例
?>

额外优化建议

  • 大文件导入时,启用setReadDataOnly(true)跳过格式解析,大幅降低内存占用:
    $reader = IOFactory::createReader('Xlsx');
    $reader->setReadDataOnly(true);
    $spreadsheet = $reader->load('你的数据集路径/kaggle_dataset.xlsx');
    
  • CSV转换异常多因编码/分隔符问题:转换时选择UTF-8编码,确认分隔符与导入工具匹配,避免特殊字符破坏格式。

内容的提问来源于stack exchange,提问作者Yassineflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:03:15