`
cynan168
  • 浏览: 37916 次
  • 性别: 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");
    }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics