2017-09-05 38 views
0

我不是那么喜欢数据库,我有以下情况:我正在使用MySQL,我必须将一些数据导入到Microsoft Excel文件中。如何将模拟到Excel文件的数据导入到MySql数据库表中?

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

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

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

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

+0

有自己的问题,但你可以尝试https://dev.mysql.com /doc/refman/5.7/en/load-data.html – RiggsFolly

回答

0

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; 
} 
相关问题