91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從Excel到導入MYSQL數據庫

發布時間:2020-08-13 08:27:55 來源:ITPUB博客 閱讀:240 作者:okone96 欄目:MySQL數據庫

為了把Excel導入數據庫寫了這個這段程序,大概思路解釋一下
:因為導入數據庫時字段類型和長度、還有字段數都是未知的,所以導入時用了通用的字段類型,在這里用了text,根據需要可以自行定制字段名,類型。這只是個簡單的例子 如果常常遇到此類問題的我建議寫個導入你所想見的表格屬性的配置文件(xml或property文件都可以),這樣靈活性更強了。

還有一種更為好的辦法,把要導入的Excel文件另存為xml文件,
這樣就會變成xml to database ,想導入就容易咯

有什么不明白可以參考:全面挖掘Java Excel API 使用方法

從Excel表格導入msyql的例子代碼

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import jxl.*;

public class test{
static String createTableSql="";//創建數據庫的sql
static String colType="TEXT";//字段類型
static String key="id";//主鍵
static String charSet="utf8";//表格字符類型
static String ENGINE="InnoDB";//表格類型
static String tableName="tempExcelToMysql";//表名稱
static String colName="col";默認字段名
static Connection conn = null;

public static void main(String args[]){
try
{
// 構建Workbook對象, 只讀Workbook對象
// 直接從本地文件創建Workbook
// 從輸入流創建Workbook

System.out.println("start load file-------------------------");
InputStream is = new FileInputStream("E:/users.xls");//創建輸入

jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0); //讀取第一個sheet
int colNum=rs.getColumns();//列數
int rowNum=rs.getRows();//行數

System.out.println("colNum rowNum------------------"+rowNum+","+colNum);
System.out.println("start create base-------------------------");

getConntion();

String tableSql=getCreateTableSql(rowNum,colNum);
Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
st.execute(tableSql);
st.close();

System.out.println("create base end -------------------------");


String sql=getColName(rowNum,colNum);
PreparedStatement ps=null;
String strValue="";
ps=conn.prepareStatement(sql);
for(int i=0;istrValue="";
for(int j=0;jCell c = rs.getCell(j, i);
strValue=c.getContents();
ps.setString(j+1,strValue);
}
ps.addBatch();
}

ps.executeBatch();
conn.commit();

if(ps!=null){
ps.close();
}

System.out.println(" insert end-------------------------");
close();
}
catch (Exception e)
{
e.printStackTrace();
}
}

static String getCreateTableSql(int rowNum,int colNum)
{
//可以做成可配置文件

createTableSql="create table "+tableName+"( `"+key+"` bigint(12) NOT NULL auto_increment, ";
String temp="";

for(int j=0;jtemp=temp+"`"+colName+j+"` "+colType+" DEFAULT NULL,";
}

createTableSql=createTableSql+" "+temp+" PRIMARY KEY (`"+key+"`)" +
") ENGINE="+ENGINE+" DEFAULT CHARSET="+charSet+";";

return createTableSql;
}

static String getColName(int rowNum,int colNum)
{
//可以做成可配置文件
String colSql="";
String colValue="";

for(int j=0;jcolSql=colSql+"`"+colName+j+"`,";
colValue=colValue+""+"?,";

}

return "insert into "+tableName+" ("+colSql.substring(0,colSql.lastIndexOf(","))+")values("+colValue.substring(0,colValue.lastIndexOf(","))+")";
}

static void getConntion()
{

try {
String driver_class = "com.mysql.jdbc.Driver";
String connection_url = "jdbc:mysql://localhost:3306/webserve?useUnicode=true&characterEncoding=utf-8";
String user_name = "root";
String db_password = "123";

Class.forName(driver_class);
conn = DriverManager.getConnection(connection_url, user_name,db_password);
}catch(Exception e){
e.printStackTrace();
}
}

static void close()
{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

[@more@]
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

特克斯县| 长宁区| 万州区| 丽水市| 黄梅县| 长岭县| 常山县| 江华| 广河县| 平南县| 繁昌县| 东城区| 蒙山县| 嘉善县| 定安县| 深泽县| 伊川县| 金秀| 乌兰察布市| 东宁县| 商城县| 若尔盖县| 安平县| 牡丹江市| 南陵县| 余姚市| 明水县| 吴桥县| 都兰县| 武山县| 红原县| 芜湖市| 皮山县| 庆元县| 琼结县| 临朐县| 东光县| 习水县| 西城区| 芦溪县| 靖州|