如何用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 匯入sqlyog資料庫ExcelSQL資料庫
- 匯入excel資源到資料庫Excel資料庫
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- 將資料庫中資料匯出為excel表格資料庫Excel
- 如何將 EXCEL 資料寫入資料庫Excel資料庫
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- 將資料匯出到ExcelExcel
- 如何將Excl內資料匯入資料庫?資料庫
- 將資料庫中資料匯入至solr索引庫資料庫Solr索引
- Excel 表匯入資料Excel
- Oracle 資料匯入ExcelOracleExcel
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 匯入excel 資料時間Excel
- NCF 如何匯入Excel資料Excel
- EasyPoi, Excel資料的匯入匯出Excel
- 大文字資料,匯入匯出到資料庫資料庫
- SpringBoot+Mybatis-plus整合easyExcel批次匯入Excel到資料庫+匯出ExcelSpring BootMyBatisExcel資料庫
- 第一章 Excel資料分析入門 --(2)Excel匯入資料Excel
- java程式碼實現excel檔案資料匯入JavaExcel
- 高效資料傳輸:Java透過繫結快速將資料匯出至ExcelJavaExcel
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- 如何將傳統關聯式資料庫的資料匯入Hadoop?資料庫Hadoop
- GeoRapter工具將shapefile資料匯入到Oracle空間資料庫中APTOracle資料庫
- python將目標檢測資料匯入到指定資料庫中Python資料庫
- 使用Oracle SQL Developer匯入Excel資料OracleSQLDeveloperExcel
- JS之實現Excel資料匯入JSExcel
- python——將excel檔案寫入mysql資料庫中PythonExcelMySql資料庫
- 小程式批次匯入excel資料,雲開發資料庫匯出cvs亂碼解決方案Excel資料庫
- java實現將資料庫資料轉化成excel表格顯示出來Java資料庫Excel
- Access 匯入 oracle 資料庫Oracle資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- .NET Core使用NPOI將Excel中的資料批量匯入到MySQLExcelMySql
- vue+element將資料匯出成excel表格VueExcel
- php如何將資料匯出成excel表格呢?PHPExcel
- 厲害了!12秒將百萬資料透過EasyExcel匯入MySQL資料庫中ExcelMySql資料庫
- 100萬資料,如何快速的匯入資料庫?資料庫
- SQL資料庫的匯入和匯出SQL資料庫
- 如何將資料庫中的資料導成 excel 檔案資料庫Excel