帮助使用phpMyAdmin将Excel文件导入MySQL

我使用phpMyAdmin的内置导入function将包含数字值(如884.557和731.0547)的Excel文件(.xls)上载到MySQL数据库中。 但是,我有可怕的四舍五入/截断问题。 由于某些原因,一些值如884.557和731.0547被更改为99.99999或9.99999。 但是,像127.0947其他值正确导入。 谁能帮忙? 如果可能的话,我仍然想使用内置的phpMyAdmin导入function,因为它是有用的。

如果你熟悉HTML和PHP,通过使用这个简单的库单纯的Excel库和脚本,你可以创build自己的Excel导入到MySQL。 IT可能需要几分钟时间才能创build,但一旦创build完成,您可以使用它一生。

//创build一个HTML表单来上传EXCEL表格

//然后创build一个PHP脚本,如下所示

require 'simplexlsx.class.php'; if (isset($_FILES['Filedata'])) { $file = $_FILES['Filedata']['tmp_name']; // UPLOADED EXCEL FILE $xlsx = new SimpleXLSX($file); list($cols, $rows) = $xlsx->dimension(); foreach( $xlsx->rows() as $k => $r) { // LOOP THROUGH EXCEL WORKSHEET $q = "INSERT INTO TABLENAME(COL1, COL2) VALUE("; $q .= "'".mysql_escape_string($r[0])."', "; // EXCEL DATA $q .= "'".mysql_escape_string($r[1])."', "; // EXCEL DATA $q .= ")"; $sql = mysql_query($q); } // IF ENDS HERE } // FOR EACH LOOP } 

这是我通常做的事情:

  1. 将excel文件保存为CSV格式

  2. 我将手动创build数据库表,通过指出我感兴趣的每一列的数据types。

  3. 我将通过忽略“列名”来将csv文件上载到所选表中,正如我在步骤2中定义的那样。小数被截断是因为phpmyadmin有一些无法解释的algorithm来确定数据types和分配给列的大小。 为了防止这种情况,您在步骤2中创build如上所述的表格。

希望能帮助到你!