js中的ajax:
var formdata = new formdata();
//單個檔案
//多個檔案
var formdata = new formdata();
var files = $('根據id取值')[0].files;
for (var i = 0; i < files.length; i++)
$.ajax(
error: function()
})
工具類:
//service中會呼叫這個類
public class excelimportutils
//@描述:是否是2007的excel,返回true是2007
public static boolean i***cel2007(string filepath)
/*** 驗證excel檔案
* @param filepath
* @return
*/public static boolean validateexcel(string filepath)
return true;
}}
controller層:
@controller
public class blacklistimportcontroller
}
service層:
@service
public class blacklistimportservice
string filename = mfile.getoriginalfilename
if(!excelimportutils .validateexcel(filename))
if(filename == "" || filename == null || mfile.getsize() == 0)
inputstream is = null;
workbook = null;
try else
string statinfor = readexcelvalue(book);
if (stateinfor.equals("匯入檔案中黑名單履歷資料為空"))else if (stateinfor.equals("匯入成功"))else if (stateinfor.equals("黑名單表新增匯入失敗"))else if (stateinfor.equals("使用者表黑名單狀態修改失敗"))
} catch (ioexception e) finally
if (is != null)
} catch (ioexception e)
}responsemap.put("state", 0);
responsemap.put("msg", "匯入失敗!");
return responsemap;
} private string readexcelvalue(workbook book)
blacklisthisory blacklisthisory = new blacklisthisory();
//getrow() 獲取行 未知的需要遍歷
//getcell() 獲取列 已知的引數裡可以寫死值
//getrow().getcell() 獲取某行某列值 引數控制某行某列
blacklisthisory.setclientmstcode(sheet.getrow(x).getcell(0).tostring().trim());
clientmstcriteria clientmstcriteria = new clientmstcriteria();
clientmstcriteria.createcriteria().andclientmstnameequalto(sheet.getrow(x).getcell(1).tostring().trim());
if (clientmstlist.size() > 0)else
if ("設定黑名單".equals(sheet.getrow(x).getcell(2).tostring().trim()))else
blacklisthisory.setreason(sheet.getrow(3).getcell(x).tostring().trim());
blacklisthisory.setclientdel(false);
//userid
blacklisthisory.setcreateuserid(18);
blacklisthisory.setcreatedate(new date());
if (blacklisthisory != null || blacklisthisory.tostring().trim().length() !=0)
}} if(blacklisthistories.size() == 0)
int state = impblacklisthisory(blacklisthisories);
if (state == 1)else if (state == -2)else if (state == -3)else if(state == 0)
return errormsg.tostring();
} private int impblacklisthistory(listdatalist)
blacklisthistory blacklisthistory;
listblacklisthistorylist = new arraylist<>();
hashmapblacklisthistoryhashmap = new hashmap<>();
//當datalist中只有一列值得時候走這個
stringbuffer codecond = new stringbuffer();
blacklisthistoryhashmap.put(datalist.get(0).getclientmstcode,datalist.get(0));
for(int i = 1; i < datalist.size(); i++)
//對excel中的資料和使用者表匹配 進行驗證
if (clientmstslist.size() > 0)
blacklisthisorylist.add(blacklisthisory);}}
if (insertnum > 0 && updatenum >0)else if(insertnum < 0)else if (updatenum < 0)
return constants.state_failed;
}}
Excel批量匯入資料庫
在上個系統中需要用到excel整體匯入的功能整體的核心思路如下 1 首先將需要匯入的excel上傳至伺服器 2 為了避免檔名重複,重新命名上傳的excel檔案 3 將上傳的excel檔案讀入datatable中 4 將datatable讀入資料庫中 實現起來還是比較簡單的,核心 如下 介面需要乙個f...
Excel批量匯入到資料庫
using system using system.collections.generic using system.linq using system.web using system.web.ui using system.web.ui.webcontrols using system.data...
從Excel批量匯入資料到資料庫
1.讀取網路路徑的excel檔案 流檔案格式 2.獲取excel的每一行資料,並驗證學校班級是否存在,並獲取對應的schoolid和classid 3.批量儲存學生資訊,並返回儲存成功的行數 匯入關於excel的pom檔案 org.apache.poigroupid poiartifactid 3....