java spring mvc jsp excel 匯入
pom檔案新增
<!-- poi jar 解析excel -->
org.apache.poi poi-ooxml 3.12 commons-fileupload
artifactId>commons-fileupload
spring配置
<!-- 檔案上傳表單的檢視解析器 -->
jsp頁面程式碼
......
<!-- excel上傳 -->
js程式碼
$(".addExcelBtn").unbind('click');
$(".addExcelBtn").click(function() {
$(".import").unbind('click');
$(".import").click(function() {
$('input[type="file"][name="uploadFile"]').click();
});
$('input[type="file"]').unbind("change");
$('input[type="file"]').change(function () {
uploadFile();
$('input[type="file"][name="uploadFile"]').val("");
});
});
function uploadFile() {
var fileName = $('input[type="file"][name="uploadFile"]').val();
if (fileName === '') {
frameModal.hitModal("請選擇檔案");
return;
}
var fileType = (fileName.substring(fileName
.lastIndexOf(".") + 1, fileName.length))
.toLowerCase();
if (fileType !== 'xls' && fileType !== 'xlsx') {
frameModal.hitModal("檔案格式不正確,excel檔案!");
return;
}
$(".fileForm").ajaxSubmit({
dataType : "json",
data: {'1': 1},
type: "POST",
url: 'url',
success : function(data, textStatus) {
console.log(data);
},
error: function () {
frameModal.hitModal('操作失敗');
}
});
};
controller程式碼
@RequestMapping(value = "/uploadExcel.action", method = RequestMethod.POST)
@ResponseBody
public ResponseVo uploadExcel(HttpServletRequest request) {
// 建立一個通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
// 判斷 request 是否有檔案上傳,即多部分請求
if (multipartResolver.isMultipart(request)) {
// 轉換成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multiRequest.getFile("uploadFile");
try {
//excelUtil工具類
List res = ExcelUtil.readExcel(file);
if (res != null && res.size() > 0) {
//存庫或者其他處理邏輯
}
} catch (IOException e) {
}
}
return null;
}
excelUtil工具類
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
/**
* @ClassName: ExcelUtil
* @Description: Excel匯入匯出工具類
*/
public class ExcelUtil {
private static Logger logger = Logger.getLogger(ExcelUtil.class);
private final static String xls = "xls";
private final static String xlsx = "xlsx";
/**
* 讀入excel檔案,解析後返回
* @param file
* @throws IOException
*/
public static List readExcel(MultipartFile file) throws IOException{
//檢查檔案
checkFile(file);
//獲得Workbook工作薄物件
Workbook workbook = getWorkBook(file);
//建立返回物件,把每行中的值作為一個陣列,所有行作為一個集合返回
List list = new ArrayList();
if(workbook != null){
for(int sheetNum = 0;sheetNum
注意:
1.excel中如果有長數字如果在getCellValue時不把型別轉換為字串型別,可能會導致數字損失精度
2.工具類原方法中解析excel是根據每行中的列數去獲取,修改了工具類,如果列獲取不到數值,就返回空。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/964/viewspace-2807942/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring學習手冊 2:Spring MVC 匯出excel表格SpringMVCExcel
- ASP.NET MVC 匯入Excel檔案ASP.NETMVCExcel
- Excel匯入匯出神器(Java)ExcelJava
- java 匯入到EXCEL表格JavaExcel
- Mvc 5中匯出ExcelMVCExcel
- spring boot + easypoi快速實現excel匯入匯出Spring BootExcel
- Java POI匯入Excel檔案JavaExcel
- Java進行excel的匯入匯出操作JavaExcel
- Java之POI操作Excel表-匯入匯出JavaExcel
- 關於java中Excel的匯入匯出JavaExcel
- spring boot + jdk1.8實現Excel匯入、匯出Spring BootJDKExcel
- java 從EXCEL匯入到系統JavaExcel
- java使使用者EasyExcel匯入匯出excelJavaExcel
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- vue excel匯入匯出VueExcel
- excel匯入工具Excel
- Java匯出ExcelJavaExcel
- java 匯出到EXCELJavaExcel
- Angular Excel 匯入與匯出AngularExcel
- Java之POI操作,封裝ExcelUtil實現Excel匯入匯出Java封裝Excel
- 匯入excel檔案Excel
- Maatwebsite\Excel匯入用法WebExcel
- maatwebsite/excel": "^3.1 匯入excel 問題WebExcel
- Spring MVC 入門程式SpringMVC
- spring mvc 快速入門SpringMVC
- vue + element + 匯入、匯出excel表格VueExcel
- kxcel, 方便匯入和匯出 ExcelExcel
- maatwebsite/excel3.1 匯入Excel詳解WebExcel
- java程式碼實現excel檔案資料匯入JavaExcel
- Laravel box/spout 匯入 ExcelLaravelExcel
- Excel 表匯入資料Excel
- Oracle 資料匯入ExcelOracleExcel
- java匯出Excel檔案JavaExcel
- 如何使用 JavaScript 匯入和匯出 ExcelJavaScriptExcel
- EasyPoi, Excel資料的匯入匯出Excel
- Vue + Element 實現匯入匯出ExcelVueExcel
- java匯出Excel定義匯出模板JavaExcel
- 如何在Spring Boot框架下實現高效的Excel服務端匯入匯出?Spring Boot框架Excel服務端