當前位置:編程學習大全網 - 編程語言 - java中怎麽把excel中的數據存儲到數據庫中

java中怎麽把excel中的數據存儲到數據庫中

如果 Excel 文件在文件系統中,則輸出 Agent 模塊是主程序。它首先獲取文件系統中的 Excel 文件,然後可以啟動多個線程去處理壹批 Excel 文件。獲取 Excel 文件的類型和版本號,根據 Excel 類型和版本號去獲取用以描述 Excel 和關系數據庫的映射元數據,就是上節我們講述的內容。進而解析元數據構建元數據的內存模型。並且采用緩存機制,同壹種類型,並且是同壹種版本的 Excel 文件應用內存中已經構建好的元數據模型來解析,不必每次都去重新獲取元數據。這樣可以顯著的提高性能。

如果 Excel 文件是存放在 Domino 服務器上的,則需要壹個 Domino Agent 程序主動調用輸出 Agent 所提供的接口,批量的轉換用解析程序從 domino 數據文檔中解析出來的 excel 文件。(關於 Domino Agent 以及如何開發壹個 Agent 程序,請見參考文獻 2)

按照映射的元數據模型,應用 HSSF/XSSF 解析 Excel 的相應單元格、列,進而構造 SQL 語句(采用 JDBC 方式的模式)。在壹個事務中提交該 Excel 文件所要執行的所有 SQL 語句, 保證壹個 Excel 文件寫入或者完全成功,或者出錯回滾,並報告錯誤信息。如清單 2 所示。

//Insert into database

List<String> sqlList = new ArrayList<String>();

CADataStore ?dataStore = new CADataStore(); ?

if(tableSQLsMap!= null && tableSQLsMap.size()!= 0){

Iterator<String> itsql = tableSQLsMap.keySet().iterator();

while(itsql.hasNext()){

String tableName = itsql.next();

List<String> theList = tableSQLsMap.get(tableName);

sqlList.addAll(theList);

}

dataStore.write(sqlList); // 壹個事務中完成所有 sql 語句的插入操作,事務是以壹個 excel

// 文件為單位的,可涉及到若幹個表

}

}

  • 上一篇:關於計算機的勵誌名言
  • 下一篇:冬奧會機器人編程
  • copyright 2024編程學習大全網