mysql - 将 XLS 文件导入 MySQL 时,FIELDS TERMINATED BY 字段的作用是什么?

标签 mysql excel

我的 xls 文件的数据,

id    |   name       |  address
----------------------------------
01    |   mani       |   us
02    |   saro       |  india

我正在尝试使用以下代码将myexceldata.xls导出到MySql的表CheckExcel

package Default;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

@SuppressWarnings("unused")
public class automateImport
{
    public static void main(String[] args) 
    {
        DBase db = new DBase();
        Connection conn = db.connect(
    "jdbc:mysql://localhost:3306/RTS","root","");
//        db.importData(conn,args[0]);
        db.importData(conn, "/home/raptorjd4/Desktop/DBToMysql.xls");
    }

}

class DBase
{
    public DBase()
    {
    }

    public Connection connect(String db_connect_str, 
  String db_userid, String db_password)
    {
        Connection conn;
        try 
        {
            Class.forName(  
    "com.mysql.jdbc.Driver").newInstance();

            conn = DriverManager.getConnection(db_connect_str, 
    db_userid, db_password);

        }
        catch(Exception e)
        {
            e.printStackTrace();
            conn = null;
        }

        return conn;    
    }

    public void importData(Connection conn,String filename)
    {
        Statement stmt;
        String query;

        try
        {
            stmt = conn.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
            String filename1 ="/home/raptorjd4/Desktop/DBToMysql.xls";
            String tablename ="CheckExcel";


           query ="LOAD DATA LOCAL INFILE \"" + filename1 + "\" INTO TABLE " + tablename + " FIELDS TERMINATED BY ','";
            stmt.executeUpdate(query);
            System.out.println("success");

        }
        catch(Exception e)
        {
            e.printStackTrace();
            stmt = null;
        }
    }
};

但我的结果是,

enter image description here

我知道我在 FIELDS TERMINATED BY 中犯了错误,但即使我尝试使用 FIELDS TERMINATED BY '|'FIELDS TERMINATED BY '\t',没有用!

有人可以帮我吗?

最佳答案

LOAD DATA INFILE 用于导入 CSV 数据(或更准确地说,文本文件中的数据)。 Excel 文件不是 CSV(不是文本)。

关于mysql - 将 XLS 文件导入 MySQL 时,FIELDS TERMINATED BY 字段的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25841806/

相关文章:

php - Wordpress REST API 创建使用自定义表的自定义端点

php - SQL 复杂连接

vba - Vlookup 返回空白而不是 0 或 #N/A

c# - 如何允许手动和编程方式修改Excel数据?

c# - 等待 Workbook.RefreshAll() (C#)

mysql - 流口水与 mysql 的持久性,无法获取流程实例

php - 按年份和月份获取数据库中的记录

php - 在 Zend DB Table Select 中使用 SQL_CALC_FOUND_ROWS 获取总行数

vba - 如何在另一个工作表中找到匹配的数据并获取单元格值?

excel - 动态搜索 ListObject 之间的缺失值