如何用jdbc把excel表中的数据更新到数据库

如何用jdbc把excel表中的数据更新到mysql数据库中?
我这里没有实体类!
急! 求助中!!!!!

这个问题分两步走:
这个问题可以分两步
1.利用Excel第三方工具,将Excel文件读取到内存中。使用最简单,方便的工具是apache的poi工具包,自己网上下载 http://poi.apache.org/ ,使用方法网上一搜一大片。
如果是对于特别大的excel(大于20M的话),简单的读取方法就容易内存溢出了,需要采用流式读取的方式,参考http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api
2.将已读入内存的Excel数据,整理成写数据库的数据结构,然后插入数据库。这部分工作应该不用介绍了,就是基本的数据库操作方法,与excel无关了
可以参考如下链接http://skyuck.iteye.com/blog/453540
求采纳

String xlsx = "test.xlsx";
    String path = "c://";
    String xlsxPath = path + xlsx;
    try {
        ReadExcel.downLoadFromUrl(url, xlsx, path);
    } catch (Exception e) {
        j.setMsg("导入失败");
        return j;
    }
    List<ArrayList<String>> list = ReadExcel.getExcelList(xlsxPath);

    读出表格的数据,每一行都在list里面,从list取出操作就可以了
    if( list.size>0){
        for (int i = 1; i < list.size; i++) {
        // 是否继续循环
            boolean isFor = true;
            for (int k = 0; k < list.get(0).size() && isFor; k++) {
                switch (list.get(0).get(k)) {
                        case "姓名":
                            name=list.get(i).get(k);
                        break;
                        case "手机号":
                        mobile=list.get(i).get(k)
                        break;
                        default:
                    break;
                    }
                }
        }
        //每一行操作
        personService.insert(name,mobile);
    }
    可以循环单次新增到列表里面,也可以将每次信息放入集合中存起来,批量添加
    ReadExcel :可以直接在网上百度一个即可

导进ojdbc6.jar和poi-3.2-FINAL-20081019.jar

package com.ilike.excelimportdata;

import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**

  • 通过jdbc的方式,把excel文件中的数据导入数据库,此类可以当做工具类使用(如果有什么问题,你可以私下联系我qq:1376120249) *
  • @ClassName ExcelImportDataTest
  • @Description *
  • @author 桑伟东
  • @date 2017-10-21 下午2:59:08
  • 注意:如果是window 7的用户,请务必修改一下你的mysql设置,重启之后再执行,负责会失败,修改方式如下
    *配置好之后要创建数据库表,表结构与数据excel表的结构一致,请参考我的数据库表的格式,及excel的格式,都在下边
    */
    图片说明
    图片说明
    图片说明
    public class ExcelImportDataTest {
    // 创建静态全局变量

    static Connection conn;

    static Statement st;

    public static void main(String[] args) {
    testImportDataByExcel();
    }

    public static void testImportDataByExcel() {

    conn = getConnection(); //同样先要获取连接,即连接到数据库

    try {

    // 以下sql语句中的文件路径需要与你在mysql的my.ini配置文件中配置的路径一致,excel表格需要在该路径下,这样导入可保证不会出错
    String sql = "LOAD DATA INFILE 'D:/tmp/sql/student.excel' INTO TABLE student";// 更新数据的sql语句

        st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量    
    
        st.execute(sql); 
    
        conn.close();   //关闭数据库连接    
    
    } catch (SQLException e) {    
        System.out.println("更新数据失败");    
    }    
    

    }

    /* 获取数据库连接的方法*/

    public static Connection getConnection() {

    Connection con = null; //创建用于连接数据库的Connection对象

    try {

    Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动

        con = (Connection) DriverManager.getConnection(    
                "jdbc:mysql://localhost:3306/mydatabase", "root", "root");// 创建数据连接    
    
    } catch (Exception e) {    
        System.out.println("数据库连接失败" + e.getMessage());    
    }    
    return con; //返回所建立的数据库连接    
    

    }

    }

换少了一张数据库的表的结构,补充如下
图片说明

也可参照如下语句创建
CREATE TABLE student (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL COMMENT '姓名',
age TINYINT(3) UNSIGNED DEFAULT NULL COMMENT '年龄',
gender TINYINT(3) UNSIGNED DEFAULT NULL COMMENT '性别,1男,0女'
PRIMARY KEY (id)
) CHARSET=utf8 |

/*使用phpExcel插件实现Excel表格一键导入功能*/
/* Excel一键导入功能 */

public function actionDaoru() { /* 是否表单提交 */
    if (isset($_POST['submit'])) {

        $file = CUploadedFile::getInstanceByName('filename');
        //获取上传的文件实例 
        if (in_array($file->getExtensionName(), array('xls', 'xlsx'))) {
            $excelFile = $file->getTempName(); //获取文件名 
            Yii::$enableIncludePath = false;
            Yii::import('application.extensions.PHPExcel.PHPExcel', 1);
            $phpexcel = new PHPExcel;
            $excelReader = PHPExcel_IOFactory::createReader('Excel2007');
            $phpexcel = $excelReader->load($excelFile)->getSheet(0);
            //载入文件并获取第一个sheet 
            Yii::$enableIncludePath = true; //及时的还原yii的自动加载模式 
            $total_line = $phpexcel->getHighestRow();
            //var_dump($total_line);exit();                
            $total_column = $phpexcel->getHighestColumn();
            $total_column = PHPExcel_Cell::columnIndexFromString($total_column);
            $datalist = array();
            for ($row = 2; $row <= $total_line; $row++) {
                $data = array();

                for ($column = 0; $column <= $total_column; $column++) {

                    if ($column > 28) {
                        $str = PHPExcel_Cell::stringFromColumnIndex(round($column - 28));
                    } elseif ($column == 22) {
                        $data[22] = date('Y-m-d 21:00:00');
                    } elseif ($column == 21 || $column == 24) {
                        $str = PHPExcel_Cell::stringFromColumnIndex($column);
                        //var_dump($str);
                        $data[] = gmdate("Y-m-d H:00:00", PHPExcel_Shared_Date::ExcelToPHP(trim($phpexcel->getCell($str . $row)->getValue())));
                        /*  $date = date('Y-m-d 9:00:00')
                          date() */
                    } else {
                        $str = PHPExcel_Cell::stringFromColumnIndex($column);
                        //var_dump($str);exit;
                        $data[] = trim($phpexcel->getCell($str . $row)->getValue());
                    }

                    //var_dump($data);exit;
                    // var_dump($data);
                }
                $datalist[] = $data;
                //var_dump($datalist);exit();
                $_model = new TXianGoods();
                $_model->isNewRecord = true;
                //$_model->id = $datalist[$row-2][0];
                $_model->parent_type_id = $datalist[$row - 2][1];
                $_model->type_id = $datalist[$row - 2][2];
                $_model->city_id = $datalist[$row - 2][3];
                $_model->tags_id = $datalist[$row - 2][4];
                $_model->tags = $datalist[$row - 2][5];
                $_model->presell_content = $datalist[$row - 2][6];
                $_model->name = $datalist[$row - 2][7];
                $_model->unit = $datalist[$row - 2][8];
                //$_model->group_unit_note = $datalist[$row-2][9];
                $_model->unit_note = $datalist[$row - 2][9];
                $_model->pic = $datalist[$row - 2][10];
                $_model->content = $datalist[$row - 2][11];
                $_model->user_limit_type_id = $datalist[$row - 2][12];
                $_model->user_limit_num = $datalist[$row - 2][13];
                $_model->num = $datalist[$row - 2][14];
                $_model->sale_num = $datalist[$row - 2][15];
                $_model->origin_num = $datalist[$row - 2][16];
                $_model->unit_price = $datalist[$row - 2][17];
                $_model->market_price = $datalist[$row - 2][18];
                $_model->group_price = $datalist[$row - 2][19];
                $_model->group_num = $datalist[$row - 2][20];
                $_model->create_at = $datalist[$row - 2][21];
                //var_dump($datalist[$row-2][21]);
                $_model->upper_at = $datalist[$row - 2][22];
                //var_dump($datalist[$row-2][22]);
                $_model->os_account = $datalist[$row - 2][23];
                $_model->os_update_at = $datalist[$row - 2][24];
                //var_dump($datalist[$row-2][24]);exit();
                $_model->status = $datalist[$row - 2][25];
                $_model->sale_type = $datalist[$row - 2][26];
                $_model->recharge_amount = $datalist[$row - 2][27];
                //var_dump($datalist[$row-2][27]) ;exit;
                $_model->save();
                //var_dump($_model->getErrors());exit; 
            }
            echo "Excel表格导入成功";

            $this->render('create');
        }
    }
}