摘要:批量導(dǎo)入數(shù)據(jù)庫思想之一頁面上傳表格后臺解析表格的數(shù)據(jù)暫放數(shù)據(jù)結(jié)構(gòu)中或自己看情況處理,再把里面的數(shù)據(jù)批量存入數(shù)據(jù)庫。
批量導(dǎo)入數(shù)據(jù)庫思想之一:頁面上傳excel表格后臺解析excel表格的數(shù)據(jù)暫放數(shù)據(jù)結(jié)構(gòu)中(list或Map,自己看情況處理),再把list里面的數(shù)據(jù)批量存入數(shù)據(jù)庫。直接貼代碼:
前端:
controller中:
// 上傳文件會自動綁定到MultipartFile中
@RequestMapping(value="/upload",method=RequestMethod.POST) public String upload(HttpServletRequest request, @RequestParam("description") String description, @RequestParam("file") MultipartFile file) throws Exception{ System.out.println(description); // 如果文件不為空,寫入上傳路徑 if(!file.isEmpty()){ // 上傳文件路徑 String path = request.getServletContext().getRealPath( "/images/"); // 上傳文件名 String filename = file.getOriginalFilename(); File filepath = new File(path,filename); // 判斷路徑是否存在,如果不存在就創(chuàng)建一個 if (!filepath.getParentFile().exists()) { filepath.getParentFile().mkdirs(); } // 將上傳文件保存到一個目標(biāo)文件當(dāng)中 file.transferTo(new File(path+File.separator+ filename)); //解析excel表格的數(shù)據(jù) ListexcelPdList = (List)ObjectExcelRead.readExcel(path, filename, 2, 1, 0, "#.####"); for(PageData ca:excelPdList){ System.out.println(StringUtils.trimToEmpty(ca.getString("var1"))); System.out.println(StringUtils.trimToEmpty(ca.getString("var2"))); System.out.println(StringUtils.trimToEmpty(ca.getString("var3"))); } return "success"; }else{ return "error"; } } 解析數(shù)據(jù)的方法如下: public class ObjectExcelRead { protected static Logger logger = Logger.getLogger(ObjectExcelRead.class); /** * * @param filepath 文件路徑 * @param filename 文件名 * @param startrow 開始行號 從0開始 * @param startcol 開始列號 從0開始 * @param sheetnum sheet * @param format double型小數(shù)據(jù)點(diǎn)保留位數(shù),如: #.## * @return */ public static List
運(yùn)行后直接在控制臺上看效果:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66872.html
摘要:基于編程思想,在框架下,將邏輯復(fù)雜的代碼放在層下,層只負(fù)責(zé)調(diào)用。 基于MVC編程思想,在springMVC框架下,將邏輯復(fù)雜的代碼放在manager層下,controller層只負(fù)責(zé)調(diào)用manager。(注:前端使用jQuery-file-upload插件) controller層 @RequestMapping(value = import_cust_user) @ResponseB...
摘要:之前寫過一篇使用腳本生成文件的文章,時(shí)隔很久這種終于有空寫該庫的兄弟庫,用來讀取文件。 之前寫過一篇使用Python腳本生成Excel文件的文章,時(shí)隔很久這種終于有空寫該庫的兄弟庫xlrd,用來讀取Excel文件。最近被調(diào)到電商項(xiàng)目,由于種種原因(設(shè)計(jì)不完善、SQL語句書寫不規(guī)范,甲方太奇葩...槽點(diǎn)太多,就不在這里吐槽了)需要經(jīng)常進(jìn)行刷數(shù)據(jù)操作(批量修改錯誤數(shù)據(jù)),一般就是寫一寫SQ...
摘要:然后封面就一個一個下啦是不是很方便具體源代碼在上有用的話記得星星 有時(shí)候會有這樣的需求吧 有一個表格里面有一批數(shù)據(jù)需要批量生成封面我們在瀏覽器里可以批量生成比如 showImg(https://segmentfault.com/img/bV67kB?w=2308&h=996); 我們有這樣一個表格需要生成圖書封面 showImg(https://segmentfault.com/img...
摘要:獲取表格數(shù)據(jù)獲取表格中的數(shù)據(jù)分為以下幾步獲取表格獲取某一行獲取這一行中的某個單元格代碼實(shí)現(xiàn)獲取第一個張表獲取每行中的字段獲取行獲取單元格中的值持久化獲取出單元格中的數(shù)據(jù)后,最后就是用數(shù)據(jù)建立對象了。獲取行獲取單元格中的值持久化相關(guān)參考 問題描述 現(xiàn)需要批量導(dǎo)入數(shù)據(jù),數(shù)據(jù)以Excel形式導(dǎo)入。 POI介紹 我選擇使用的是apache POI。這是有Apache軟件基金會開放的函數(shù)庫,他會...
摘要:知識在于分享,也是希望和大家交流下,如何把后臺管理系統(tǒng)寫得能更具工程化,模塊化,更有效率。后臺管理系統(tǒng)多為端,所以和的技術(shù)運(yùn)用不多,會根據(jù)產(chǎn)品需求進(jìn)行優(yōu)雅降級和漸進(jìn)增強(qiáng)。 前兩天看segmentfault的時(shí)候,突然間,想寫篇文章總結(jié)一下那些年自己寫過的后臺管理系統(tǒng)。作為我前端的入門項(xiàng)目,我對后臺管理系統(tǒng)的感情還是挺深的。本著以下幾點(diǎn)原因,寫了此文。 對后臺管理系統(tǒng)做一個綜合全面的總...
閱讀 2714·2021-11-25 09:43
閱讀 2097·2021-11-24 09:39
閱讀 1989·2021-11-17 09:33
閱讀 2765·2021-09-27 14:11
閱讀 1874·2019-08-30 15:54
閱讀 3236·2019-08-26 18:27
閱讀 1273·2019-08-23 18:00
閱讀 1821·2019-08-23 17:53