描述:
前台上传EXCEL,利用STRUTS得到流,与POI结合,解析。(暂没有与到数据库及服务器上)
下面是代码:
test.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<form action="importexcel.do?method=ImportExcel" method="post"
enctype="multipart/form-data">
<input type="file" name="formFile" id="formFile" value="浏览">
<br>
<input type="submit" value="提交">
</form>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="importForm"
type="com.instance.model.ImportExcelForm">
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/importexcel" parameter="method" scope="request" name="importForm"
type="com.instance.poi.ImportExcelServlet">
<forward name="list" contextRelative="true"
path="index.jsp">
</forward>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources" />
</struts-config>
FORM:
package com.instance.model;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class ImportExcelForm extends ActionForm {
private FormFile formFile ;
public FormFile getFormFile() {
return formFile;
}
public void setFormFile(FormFile formFile) {
this.formFile = formFile;
}
}
action:
package com.instance.poi;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;
import com.instance.model.ImportExcelForm;
public class ImportExcelServlet extends DispatchAction {
public ActionForward ImportExcel(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
try {
ImportExcelForm excelForm = (ImportExcelForm) form;
FormFile formfile = excelForm.getFormFile();
InputStream inputStream = formfile.getInputStream();
POIFSFileSystem fs = new POIFSFileSystem(inputStream);
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = sheet.getLastRowNum();// 行
HSSFRow row;
HSSFCell cell;
String value = "";
for (int i = 0; i <= rowNum; i++) {
row = sheet.getRow(i);
int cellNum = row.getLastCellNum();// 列
for (int j = 0; j < cellNum; j++) {
cell = row.getCell((short) j);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
int cellType = cell.getCellType();
if (cellType == cell.CELL_TYPE_NUMERIC) {
DecimalFormat format = new DecimalFormat("#");
value = format.format(cell.getNumericCellValue());
} else {
value = cell.getStringCellValue();
}
System.out.print(value + " ");
}
System.out.println();
}
} catch (FileNotFoundException e) {
System.out.println("文件不存在....");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return mapping.findForward("list");
}
}
分享到:
相关推荐
poi解析excel功能参数说明 此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后返回指定参数做后续处理. 1....
通过工具类中读取绝对路径下的excel文档。 将文档放入到List集合。 将List集合转换成List集合。 生成随机数。 最后将结果放入到swing页面中进行效果显示。 模拟10个同学玩lol随机分组。 同学名字在excel中动态配置。
整理好的jar demo在我的另一个文件,一次不好上传,分成两次,这个jar也可以单独使用,配合demo更佳
poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx),项目在idea下创建,包含所有jar包,直接导入即可运行,有需要的放心下载,会有很大帮助。
在上一版本基础上做了稍微调整,上传前自动删除之前上传的文件,读取excel时支持智能识别每一行单元格之间的空单元格(空单元格用空字符串代替),做到与excel行列对齐。
在web 开发的时候时常会使用到上传一个execl 文件的技术,然后在吧execl中的数据都添加到数据库中,而POI就是对execl 文件的解析 ,和创建一个execl 文件提供下载。
使用struts和POI进行简单的Excel上传和解析,最后把Excel中的数据转化成类Person的实体,这是一个简单的案例,没有hibernate操作,相信只要知道怎么把Excel转换成实体并添加到List中,后面的都不是问题,本案例可以...
Java POI解析Excel2007,最新POI发布包(卷1) ,如何应用可参考我上传的另外一个资源(Excel2007小工具) 另外一卷:http://download.csdn.net/source/2421629
9、excel文件解析功能:poi实现。 10、minio分布式存储:API封装并提供统一的请求接口。包括minio部署说明,以及minio 使用源代码 注意:需要安装minio服务端,参见readme文档 11、跨域问题解决。 12、线程池应用。
POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...
上传本地文件到服务器进行解析,通过poi继续操作数据,易懂简单。
ssh2 利用poi上传Excel并解析Excel文件
springboot+poi,将数据库查询结果导出excel,解析上传的excel文件进行操作。
java上传文件,基于内存用poi读取excel内容. Excel内容解析完成后,可根据实际需求做相应处理
spring boot多文件上传、单文件上传、Excel解析源码 项目描述 极简文件上传下载实例;springboot 单文件上传、多文件上传、Excel文件上传解析、Excel文件下载; 运行环境 jdk8+tomcat9+IntelliJ IDEA+maven 项目...
实现Excel的上传和下载 存在两种格式的上传和下载,分别对应POI和JXL 可以实现根据Excel模板导出,自定义Excel样式导入 形成自定义的Excel报表等功能。项目为Maven项目,JDK采用1.8
java上传并读取excel工具类 涉及到MultiFile转FIle 以及多个sheet页
Java操作Excel、Word、PowerPoint等需要的jar包及使用说明。
- 解析Excel:poi-ooxml 打包: ```bash ./gradlew build ``` ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、...
可以解析EXCEL2010 版本 的JAVA POI JAR包,在官方下的,这里只有要用到的JAR包,其它没用的没上传。