三行程式碼嵌入 java 實現複雜 Excel 資料入庫
一般常規辦法:先使用POI或者HSSFWorkbook等第三方類庫對其表格資料結構化,再用SQL語句寫入資料庫。由於Java並沒有表格物件,總要利用集合加實體類去實現(硬編碼),如果碰到格式複雜的表格,解析難度大,工作量會成倍增加,程式碼不僅冗長、且很難通用。
比如要處理這麼個場景:資料庫表Logistics有3個欄位:Shippers、Region、Quantity。解析如下Excel表格,併入庫:
入庫後的效果:
Java程式碼大概要寫成這樣子:
... File target = new File(filepath, filename); FileInputStream fi = new FileInputStream(target); HSSFWorkbook wb = new HSSFWorkbook(fi); HSSFSheet sheet = wb.getSheetAt(sheetnum); int rowNum = sheet.getLastRowNum() + 1; for (int i = startrow; i < rowNum; i++) { PageData varpd = new PageData(); HSSFRow row = sheet.getRow(i); int cellNum = row.getLastCellNum(); ... } ... List<PageData> listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 3, 0, 0); for(int i=0;i<listPd.size();i++){ pd.put("ET_ID", this.get32UUID()); ... } /*The operation to import the database*/ mv.addObject("msg","success"); ... |
如果有了集算器,這樣的問題則會簡單很多,它是專業處理結構化資料的語言,能夠輕鬆讀取Excel資料,結構化成“序表”後匯入資料庫。以往需要編寫數千行程式碼才能完成的Excel資料結構化入庫工作,現在只需簡單的幾行就搞定了。比如上面的問題,集算器SPL僅3行:
|
A |
1 |
=file("/workspace/crosstab.xls").xlsimport@t(;1,2).rename(#1:Shippers) |
2 |
=A1.pivot@r(Shippers;Region,Quantity) |
3 |
=Mysql.update(A2,Logistics) |
其實還有很多類似的結構化問題不太方便,但有集算器SPL的輔助卻很簡單,感興趣可以參考: 、
集算器還很容易嵌入到Java應用程式中, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699812/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java程式碼實現excel檔案資料匯入JavaExcel
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- 雜湊表的程式碼實現(Java)Java
- 填報指令碼之輕鬆搞定複雜表的資料入庫指令碼
- 三行CSS程式碼實現水平垂直居中CSS
- Oracle EBS 資料庫密碼複雜度設定Oracle資料庫密碼複雜度
- java實現將資料庫資料轉化成excel表格顯示出來Java資料庫Excel
- JS之實現Excel資料匯入JSExcel
- 有什麼工具可以上載複雜的 excel 資料填報到資料庫中Excel資料庫
- 三行程式碼實現 JS 柯里化行程JS
- 分散式資料庫下子查詢和 Join 等複雜 SQL 如何實現?分散式資料庫SQL
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- excel 匯入sqlyog資料庫ExcelSQL資料庫
- 資料結構 - 雜湊表,三探之程式碼實現資料結構
- 如何將 EXCEL 資料寫入資料庫Excel資料庫
- 匯入excel資源到資料庫Excel資料庫
- 降低程式碼的圈複雜度——複雜程式碼的解決之道複雜度
- mysql資料庫實現主從複製MySql資料庫
- 複雜「場景」資料匯入匯出
- 嵌入式狗的 JAVA 入門筆記·2 程式碼實踐Java筆記
- 資料重整:用Java實現精準Excel資料排序的實用策略JavaExcel排序
- 小程式批次匯入excel資料,雲開發資料庫匯出cvs亂碼解決方案Excel資料庫
- Java關於資料結構的實現:雜湊Java資料結構
- 低程式碼開發平臺 讓資料應用不再複雜
- 多次複製Excel符合要求的資料行:Python批次實現ExcelPython
- 淺析程式碼圈複雜度及認知複雜度複雜度
- GridLayoutManager 實現 複雜列布局
- 現實:程式越來越複雜。目的:可維護。
- 實踐篇 | DDD概念複雜難懂,實際落地如何設計程式碼實現模型?模型
- JAVA 實現《複雜迷宮》遊戲|CSDN創作打卡Java遊戲
- git管理複雜專案程式碼Git
- 【資料結構】串(String、StringBuilder、StringBuffer)的JAVA程式碼實現資料結構UIJava
- 三行程式碼實現`年月日`的彈出控制元件行程控制元件
- 嵌入式資料庫資料庫
- linux下mysql主從複製,實現資料庫同步LinuxMySql資料庫
- 前端程式碼質量-圈複雜度原理和實踐前端複雜度
- 複雜業務下向Mysql匯入30萬條資料程式碼優化的踩坑記錄MySql優化