繁体   English   中英

如何将模拟到Excel文件的数据导入MySql数据库表?

[英]How to import data mocked into an Excel file into a MySql database table?

我不太喜欢数据库,并且遇到以下情况:我正在使用MySQL,并且必须将一些散乱的数据导入Microsoft Excel文件。

在此文件中,第一行单元格代表一个表字段(每个单元格是一个字段),下面的行单元格包含与这些字段相关的值。

最初,我曾想过要开发一个Java程序来访问此Excel文件,对其进行解析并填充我的数据库。 但是这种解决方案是不可持续的,因为我有很多Excel文件(每个文件都包含特定表的模拟数据)。

我可以直接使用Excel文件(或.csv中的转换版本)填充MySql表吗? 存在一个简单的方法吗?

如果是这样,应考虑哪些预防措施?

MySQL查询(如果您具有管理员权限)

SELECT * INTO OUTFILE "/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM test;

或简单的PHP脚本

$result = $db_con->query('SELECT * FROM `some_table`');
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++) {
    $headers[] = mysql_field_name($result , $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="export.csv"');
    header('Pragma: no-cache');
    header('Expires: 0');
    fputcsv($fp, $headers);
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
        fputcsv($fp, array_values($row));
    }
    die;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM