`
cynan168
  • 浏览: 39286 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI解析上传过来的EXCEL

阅读更多

描述:

      前台上传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");
    }
}

分享到:
评论

相关推荐

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    poi解析excel功能参数说明 此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后返回指定参数做后续处理. 1....

    poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx)优化版

    在这个场景中,POI被用来解析上传的Excel文件,无论是.xls(Excel 97-2003格式)还是.xlsx(Excel 2007及以后的XML格式)。其次,JSP(JavaServer Pages)是一种动态网页技术,用于接收用户上传的文件并处理这些文件...

    poi解析word、excel/ppt 及其其他相应的工具jar

    1. poi-ooxml-schemas-3.11-20141221.jar:这部分包含了Office Open XML (OOXML) 的XML架构定义,使得POI可以理解和解析基于OOXML格式的文件。 2. batik-all-1.8pre-r1084380.jar:Batik是Apache的一个子项目,主要...

    poi解析excel、word2007,2010等版本

    本项目中的"poiTest"是一个Web应用示例,它演示了如何使用Apache POI来解析不同版本的Excel(如2007、2010)以及Word2007和2010文档。 1. **Apache POI 简介** Apache POI 是由Apache软件基金会开发的一个项目,...

    poijar包解析excel文件

    本篇文章将深入探讨如何使用PoIJar包解析Excel文件,以及它在实际开发中的应用。 PoI是一个开源项目,其全称为“Poor Obfuscation Implementation of Java”,但现在更常被理解为“Portable Object Interface”。...

    POI解析excel文件

    总之,Apache POI 是Java开发中处理Excel文件的强大工具,无论是读取用户上传的数据还是创建可下载的报表,都能提供高效且灵活的解决方案。通过熟练掌握POI,开发者可以轻松地将Excel集成到Web应用中,实现数据的...

    poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx)

    标题 "poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx)" 涉及的是一个Java Web项目,利用Apache POI库处理用户通过JSP上传的Excel文件,并将数据存储到MySQL数据库中。Apache POI是Java平台上的一个开源项目...

    java POI 通过MultipartFile删除Excel文件解析写入数据库

    下面我们将深入探讨如何使用Java POI和MultipartFile来解析Excel文件,并将数据写入数据库。 首先,我们需要理解MultipartFile的工作原理。在Spring MVC中,当用户上传文件时,控制器方法的参数可以声明为...

    Springboot+Poi实现Excel的导入导出

    而Apache POI是用于处理Microsoft Office格式文件的Java库,包括Excel。本项目结合了Spring Boot和POI,实现了Excel文件的导入与导出功能,这在数据管理、报表生成、数据分析等领域十分常见。 首先,我们要理解...

    swing+poi+解析excel,导入excel

    通过工具类中读取绝对路径下的excel文档。 将文档放入到List集合。 将List集合转换成List集合。 生成随机数。 最后将结果放入到swing页面中进行效果显示。 模拟10个同学玩lol随机分组。 同学名字在excel中动态配置。

    poi,jxl解析excel

    - **数据导入导出**:在Web应用中,可以使用Apache POI或JXL将用户上传的Excel文件数据导入数据库,或者将数据库数据导出为Excel文件供用户下载。 - **数据分析**:通过读取Excel数据,可以进行数据清洗、统计分析...

    POI实现的excel的上传下载

    - **解析文件**:接收到文件后,使用POI的API读取Excel内容。例如,使用`WorkbookFactory.create()`方法创建一个`Workbook`对象,然后通过`getSheetAt()`或`getSheet()`获取工作表,再通过`getRow()`和`getCell()`...

    SpringBoot +Mybatis +POI导入、导出Excel文件

    2. 使用POI的HSSFWorkbook(.xls)或XSSFWorkbook(.xlsx)类解析Excel文件,获取到工作簿对象。 3. 遍历工作簿中的工作表,进一步处理每个单元格的数据,将数据转化为业务模型对象。 4. 使用Mybatis的SqlSession,...

    Excel导入后进行解析成实体

    使用struts和POI进行简单的Excel上传和解析,最后把Excel中的数据转化成类Person的实体,这是一个简单的案例,没有hibernate操作,相信只要知道怎么把Excel转换成实体并添加到List中,后面的都不是问题,本案例可以...

    java利用POI技术上传&导出Excel表格并保存数据至数据库

    总结起来,Java结合Apache POI能有效处理Excel文件,无论是上传后的解析、数据转换,还是将数据导出为Excel文件,都能高效完成。这使得POI成为Java开发者处理Excel操作的首选工具。在实际开发过程中,根据项目需求,...

    java poi excel上传 下载

    在服务器端,使用Java POI读取上传的Excel文件内容,可能需要解析单元格的数据类型、样式和公式。 3. **Excel导出**:服务器端处理业务逻辑后,将结果数据写入新的Excel文件并提供给用户下载。这个过程可能涉及到...

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    5. **Excel数据导入到数据库**: 使用Apache POI,我们可以解析Excel文件,获取工作表和单元格的数据。然后,通过MyBatis的Mapper接口,将这些数据插入到数据库的相应表中。这涉及到SQL语句的编写,以及可能的数据...

    java上传excel并且解析入库

    以下是如何使用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小工具)

    Java POI解析Excel2007,最新POI发布包(卷1) ,如何应用可参考我上传的另外一个资源(Excel2007小工具) 另外一卷:http://download.csdn.net/source/2421629

    应用POI组件读写Excel文档

    - 数据导入:相反,用户上传的Excel文件可以被应用程序解析并导入到数据库中,实现批量数据处理。 - 报表生成:自定义报表和数据分析工具通常使用POI来生成动态的Excel报告。 - 自动化测试:测试框架可能利用POI...

Global site tag (gtag.js) - Google Analytics