日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载

發布時間:2025/4/16 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java相關:SpringMVC下實現Excel文件上傳下載

發布于 2020-6-21|

復制鏈接

摘記: 在實際應用中,經常會遇到上傳Excel或者下載Excel的情況,比如導入數據、下載統計數據等等場景。針對這個問題,我寫了個基于SpringMVC的簡單上傳下載示例,其中Excel的處理使用Apache的POI組件。主要依賴的包如下:

```xml

commons-io ..

在實際應用中,經常會遇到上傳Excel或者下載Excel的情況,比如導入數據、下載統計數據等等場景。針對這個問題,我寫了個基于SpringMVC的簡單上傳下載示例,其中Excel的處理使用Apache的POI組件。主要依賴的包如下:

```xml

commons-io

commons-io

2.4

commons-fileupload

commons-fileupload

1.3.1

org.springframework

spring-web

4.0.0.RELEASE

org.springframework

spring-webmvc

4.0.0.RELEASE

org.apache.poi

poi

3.10.1

```

相關處理類:(一)Controller類

```java

package com.research.spring.controller;

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.multipart.MultipartFile;

import org.springframework.web.servlet.ModelAndView;

import com.research.spring.model.UserInfo;

import com.research.spring.view.ExcelView;

@Controller

@RequestMapping("/file")

public class FileController {

/**

* Excel文件上傳處理

* @param file

* @return

*/

@RequestMapping("/upload")

public ModelAndView uploadExcel(@RequestParam("file") MultipartFile file){

List list = new ArrayList();

//這里只處理文件名包括“用戶”的文件,模板使用下載模板

if( file.getOriginalFilename().contains("用戶") ){

try {

Workbook wb = new HSSFWorkbook(file.getInputStream());

Sheet sheet = wb.getSheetAt(0);

for( int i = 1; i list = new ArrayList();

UserInfo userInfo = new UserInfo();

userInfo.setPassword("0000");

userInfo.setUserName("sdfas");

list.add(userInfo);

list.add(userInfo);

list.add(userInfo);

list.add(userInfo);

Map> map = new HashMap>();

map.put("infoList", list);

ExcelView ve = new ExcelView();

return new ModelAndView(ve,map);

}

}

```

(二)實體類

```java

package com.research.spring.model;

public class UserInfo {

private String userName;

private String password;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

@Override

public String toString() {

return "UserInfo [userName=" + userName + ", password=" + password

+ "]";

}

}

```

(三)View類這個類在下載時用到,在Spring渲染頁面時使用自定義的View類進行Excel的相關處理。

```java

package com.research.spring.view;

import java.io.OutputStream;

import java.net.URLEncoder;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

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.springframework.web.servlet.view.document.AbstractExcelView;

import com.research.spring.model.UserInfo;

/**

* 下載Excel視圖

*

* @author wdmcygah

*

*/

public class ExcelView extends AbstractExcelView {

@Override

protected void buildExcelDocument(Map model,

HSSFWorkbook workbook, HttpServletRequest request,

HttpServletResponse response) throws Exception {

@SuppressWarnings("unchecked")

List list = (List) model.get("infoList");

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

int len = list.size();

Sheet sheet = workbook.createSheet();

// 第一行文字說明

Row row = sheet.createRow(0);

Cell cell = row.createCell(0, Cell.CELL_TYPE_STRING);

cell.setCellValue("用戶名");

cell = row.createCell(1, Cell.CELL_TYPE_STRING);

cell.setCellValue("密碼");

//下面是具體內容

for (int i = 0; i (四)主要配置文件上傳文件時需要在配置文件中配置MultipartResolver類,配置后Spring會自動將文件傳成MultipartFile對象,然后就可以進行相應的處理。示例看Controller類。

```java

```

(五)測試頁面

```xhtml

測試下載Excel功能

測試上傳Excel功能

```

總結

以上是生活随笔為你收集整理的java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。