java excel导入jsp_JAVA通过poi对Excel数据在(jsp+ssh)环境下导入导出

该博客介绍了如何在JAVA环境中利用Apache POI库读取Excel文件,特别是在JSP和SSH框架下,进行数据的导入操作。通过对上传的Excel文件进行遍历,检查表头格式并读取内容,将数据转化为Student对象并存储到列表中,为后续数据处理和入库做好准备。
摘要由CSDN通过智能技术生成

importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.http.HttpServletResponse;importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFCellStyle;importorg.apache.poi.hssf.usermodel.HSSFFont;importorg.apache.poi.hssf.usermodel.HSSFHeader;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.Workbook;importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importorg.apache.struts2.ServletActionContext;importcom.dev.iex.po.Student;

定义的的变量:private File excelFile;//File对象,目的是获取页面上传的文件

private List stuList=new ArrayList();

定义的方法:publicFile getExcelFile() {returnexcelFile;

}public voidsetExcelFile(File excelFile) {this.excelFile =excelFile;

}public ListgetStuList() {returnstuList;

}public void setStuList(ListstuList) {this.stuList =stuList;

}

主要编写的是importExcel方法,如下:

@SuppressWarnings("finally")public String importExcel()throwsException

{

String id=null;

String name=null;

String sex=null;

String Dormitory=null;

String Sept=null;

Workbook workbook= null;int k=0;int flag = 0; //指示指针所访问的位置

if(excelFile!=null)

{

String path=excelFile.getAbsolutePath();//获取文件的路径

try{

workbook= new XSSFWorkbook(path);//初始化workbook对象

for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) { //读取每一个sheet

System.out.println("2007版进入读取sheet的循环");if (null !=workbook.getSheetAt(numSheets)) {

XSSFSheet aSheet= (XSSFSheet)workbook.getSheetAt(numSheets);//定义Sheet对象

for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++) {//进入当前sheet的行的循环

if (null !=aSheet.getRow(rowNumOfSheet)) {

XSSFRow aRow= aSheet.getRow(rowNumOfSheet); //定义行,并赋值

for (int cellNumOfRow = 0; cellNumOfRow <= aRow.getLastCellNum(); cellNumOfRow++)

{//读取rowNumOfSheet值所对应行的数据

XSSFCell xCell = aRow.getCell(cellNumOfRow); //获得行的列数//获得列值//System.out.println("type="+xCell.getCellType());

if (null !=aRow.getCell(cellNumOfRow))

{if(rowNumOfSheet == 0)

{//如果rowNumOfSheet的值为0,则读取表头,判断excel的格式和预定格式是否相符

if(xCell.getCellType() ==XSSFCell .CELL_TYPE_NUMERIC)

{

}else if(xCell.getCellType() ==XSSFCell .CELL_TYPE_BOOLEAN)

{

}else if(xCell.getCellType() ==XSSFCell .CELL_TYPE_STRING)

{if(cellNumOfRow == 0)

{if

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值