如何用Java將excel資料匯入資料庫
最近寫了點關於將excel匯入資料庫的程式碼,當然也可以看做是對前面所介紹的小專案進行補充所做的準備。
我一般都是先完成功能,然後將其封裝成塊,再新增到專案中,個人癖好不值得借鑑。專案中關於解析excel資料的方式請參考:http://blog.csdn.net/trsli/article/details/17392943
這是已經成功插入資料化資料庫中資料的記錄,我新建的表為db. 這是在控制檯的資料輸入
很多時候拼接字串是很多專案必須做的,該程式碼中我拼接了不少sql語句,也許有更簡單的方式,但是我現在只能想到這一步。
/**將execl資料匯入資料庫
* @author trsli
* */
public class CreateDBTable {
private static Connection conn;
private static String sql="";
private static StringBuffer buf=new StringBuffer();
static{
conn=DBConnection.getConnection();
}
public static void main(String[] args) {
//資料.xls檔案路徑
System.out.println("輸入檔案路徑:");
String filename=new Scanner(System.in).nextLine();
//獲取需要插入資料庫的資料內容
Object[][] contents=new PoiUtil().getmessage(filename);
//獲取資料庫建立表格的欄位名
Object[] titles=new PoiUtil().gettitles(filename);
System.out.println("輸入數表格名:");
String fname=new Scanner(System.in).nextLine();
try {
String ziduan="";
String blank="";
PreparedStatement stmt=conn.prepareStatement(sql);
buf.append("create table "+fname+"( id int primary key auto_increment");
//拼接字串,主要是為了完全實現動態建立資料表格以及後期插入資料
for(int i=0;i<titles.length;i++){
buf.append(","+titles[i]+" varchar(20)");
if(i==titles.length-1){//字串末尾沒有“,”
ziduan+=titles[i]+"";
blank+="?";
}else{
ziduan+=titles[i]+",";
blank+="?,";
}
}
//sql資料拼裝完成
sql="insert into "+fname+"("+ziduan+") values ("+ blank+")";
buf.append(" );");
stmt.executeUpdate(buf.toString());
System.out.println("預處理...");
try {
Thread.sleep(2000);//用於保證資料庫建表操作完成
System.out.println("建表成功...");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<contents.length;i++){
Object[] content=contents[i];//獲取一行資料
PreparedStatement insert=conn.prepareStatement(sql);
for(int j=0;j<content.length;j++){
insert.setString(j+1, content[j].toString());//預載入資料
}
insert.executeUpdate();//插入資料
System.out.println("第"+i+"行成功...");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("插入資料完成");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
整個程式碼很簡單,可以從中提取出需要的方法,用於其它需要的地方,而這就是未來需要做的。個人感覺還有許多需要改進的地方,當然自從開始研究POI以來,我還沒有對其進行更加深入的理解。比如紅色程式碼塊可以用批處理模式:addbatch方法。程式碼中的Thread.sleep()顯得有點多餘,主要原因是excel中德資料太少。
這是資料庫中資料的顯示。 以下是原資料:
最近公司安排的事情做得有點吃力,所以寫點程式碼調節一下枯燥的心情。
相關文章
- java怎麼將excel表格資料匯入資料庫JavaExcel資料庫
- 將excel表格匯入資料庫Excel資料庫
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- Oracle 巧用外部表將大量excel資料匯入資料庫OracleExcel資料庫
- pl/sql developer將excel資料匯入到資料庫中SQLDeveloperExcel資料庫
- excel 匯入sqlyog資料庫ExcelSQL資料庫
- 匯入excel資源到資料庫Excel資料庫
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- 如何將 EXCEL 資料寫入資料庫Excel資料庫
- 將XML匯入資料庫XML資料庫
- 將資料庫中資料匯出為excel表格資料庫Excel
- java 實現excel中的資料匯入到資料庫的功能JavaExcel資料庫
- 將資料匯出到ExcelExcel
- 如何將Excl內資料匯入資料庫?資料庫
- 從Excel到匯入MYSQL資料庫ExcelMySql資料庫
- Excel匯入Sqlserver資料庫指令碼ExcelSQLServer資料庫指令碼
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- 將informix匯出的文字資料匯入oracle資料庫ORMOracle資料庫
- Excel 表匯入資料Excel
- Oracle 資料匯入ExcelOracleExcel
- 將excel中資料從window上匯入到linux中oracle資料庫ExcelLinuxOracle資料庫
- 將資料庫中資料匯入至solr索引庫資料庫Solr索引
- NCF 如何匯入Excel資料Excel
- 匯入excel 資料時間Excel
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 轉載:利用SQL*Loader將 Excel 資料匯出到資料庫中SQLExcel資料庫
- EasyPoi, Excel資料的匯入匯出Excel
- 將表格資料匯入Excel表程式碼例項Excel
- 大文字資料,匯入匯出到資料庫資料庫
- asp.net 操作Excel表資料匯入到SQL Server資料庫ASP.NETExcelSQLServer資料庫
- Oracle匯入excel資料快速方法OracleExcel
- 第一章 Excel資料分析入門 --(2)Excel匯入資料Excel
- Oracle工具之sqlldr的使用--如何將文字檔案或Excel中的資料匯入資料庫OracleSQLExcel資料庫
- java程式碼實現excel檔案資料匯入JavaExcel
- 將Excel中的資料匯入至MsSQLSERVER中(示例) (轉)ExcelSQLServer
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- excel檔案中的資料匯入Oracle資料庫的幾種方法ExcelOracle資料庫
- 高效資料傳輸:Java透過繫結快速將資料匯出至ExcelJavaExcel