描述:
前台上传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....
在这个场景中,POI被用来解析上传的Excel文件,无论是.xls(Excel 97-2003格式)还是.xlsx(Excel 2007及以后的XML格式)。其次,JSP(JavaServer Pages)是一种动态网页技术,用于接收用户上传的文件并处理这些文件...
1. poi-ooxml-schemas-3.11-20141221.jar:这部分包含了Office Open XML (OOXML) 的XML架构定义,使得POI可以理解和解析基于OOXML格式的文件。 2. batik-all-1.8pre-r1084380.jar:Batik是Apache的一个子项目,主要...
本项目中的"poiTest"是一个Web应用示例,它演示了如何使用Apache POI来解析不同版本的Excel(如2007、2010)以及Word2007和2010文档。 1. **Apache POI 简介** Apache POI 是由Apache软件基金会开发的一个项目,...
本篇文章将深入探讨如何使用PoIJar包解析Excel文件,以及它在实际开发中的应用。 PoI是一个开源项目,其全称为“Poor Obfuscation Implementation of Java”,但现在更常被理解为“Portable Object Interface”。...
总之,Apache POI 是Java开发中处理Excel文件的强大工具,无论是读取用户上传的数据还是创建可下载的报表,都能提供高效且灵活的解决方案。通过熟练掌握POI,开发者可以轻松地将Excel集成到Web应用中,实现数据的...
标题 "poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx)" 涉及的是一个Java Web项目,利用Apache POI库处理用户通过JSP上传的Excel文件,并将数据存储到MySQL数据库中。Apache POI是Java平台上的一个开源项目...
下面我们将深入探讨如何使用Java POI和MultipartFile来解析Excel文件,并将数据写入数据库。 首先,我们需要理解MultipartFile的工作原理。在Spring MVC中,当用户上传文件时,控制器方法的参数可以声明为...
而Apache POI是用于处理Microsoft Office格式文件的Java库,包括Excel。本项目结合了Spring Boot和POI,实现了Excel文件的导入与导出功能,这在数据管理、报表生成、数据分析等领域十分常见。 首先,我们要理解...
通过工具类中读取绝对路径下的excel文档。 将文档放入到List集合。 将List集合转换成List集合。 生成随机数。 最后将结果放入到swing页面中进行效果显示。 模拟10个同学玩lol随机分组。 同学名字在excel中动态配置。
- **数据导入导出**:在Web应用中,可以使用Apache POI或JXL将用户上传的Excel文件数据导入数据库,或者将数据库数据导出为Excel文件供用户下载。 - **数据分析**:通过读取Excel数据,可以进行数据清洗、统计分析...
- **解析文件**:接收到文件后,使用POI的API读取Excel内容。例如,使用`WorkbookFactory.create()`方法创建一个`Workbook`对象,然后通过`getSheetAt()`或`getSheet()`获取工作表,再通过`getRow()`和`getCell()`...
2. 使用POI的HSSFWorkbook(.xls)或XSSFWorkbook(.xlsx)类解析Excel文件,获取到工作簿对象。 3. 遍历工作簿中的工作表,进一步处理每个单元格的数据,将数据转化为业务模型对象。 4. 使用Mybatis的SqlSession,...
使用struts和POI进行简单的Excel上传和解析,最后把Excel中的数据转化成类Person的实体,这是一个简单的案例,没有hibernate操作,相信只要知道怎么把Excel转换成实体并添加到List中,后面的都不是问题,本案例可以...
总结起来,Java结合Apache POI能有效处理Excel文件,无论是上传后的解析、数据转换,还是将数据导出为Excel文件,都能高效完成。这使得POI成为Java开发者处理Excel操作的首选工具。在实际开发过程中,根据项目需求,...
在服务器端,使用Java POI读取上传的Excel文件内容,可能需要解析单元格的数据类型、样式和公式。 3. **Excel导出**:服务器端处理业务逻辑后,将结果数据写入新的Excel文件并提供给用户下载。这个过程可能涉及到...
5. **Excel数据导入到数据库**: 使用Apache POI,我们可以解析Excel文件,获取工作表和单元格的数据。然后,通过MyBatis的Mapper接口,将这些数据插入到数据库的相应表中。这涉及到SQL语句的编写,以及可能的数据...
以下是如何使用POI解析Excel的基本步骤: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; // 获取Workbook对象,XSSFWorkbook对应.xlsx格式,HSSFWorkbook...
Java POI解析Excel2007,最新POI发布包(卷1) ,如何应用可参考我上传的另外一个资源(Excel2007小工具) 另外一卷:http://download.csdn.net/source/2421629
- 数据导入:相反,用户上传的Excel文件可以被应用程序解析并导入到数据库中,实现批量数据处理。 - 报表生成:自定义报表和数据分析工具通常使用POI来生成动态的Excel报告。 - 自动化测试:测试框架可能利用POI...