JSP页面加载xls表格数据
2016-08-10 13:49
393 查看
解析用到的第三方库:POI
HSSFWorkbook 类
直接贴代码
![](https://img-blog.csdn.net/20160810134335364)
表格可以自己加入数据
通过代码解析 得到集合类
再通过前台进行获取
我这里将包导出成jar 放到WebRoot/WEB-INF/lib目录下
最后附上页面代码
本来是想用forEach标签来取值 但是嵌套的集合 弄了半天 还是取不到 就干脆放到小脚本里面去了
实现的方式很多,不推荐在页面中直接放小脚本
可以用Servlet传值 也可以用数据库来实现
HSSFWorkbook 类
直接贴代码
package com.jx; import java.io.File; import java.io.FileInputStream; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.junit.Test; public class jx { static public int count = 0; static public int row1 = 0; public static void main(String[] args) throws Exception { jx j = new jx(); List<List<Object>> hlist = null; List<List<Object>> list = null; List<Object> mlist = null; hlist = j.Test(list, mlist); } @Test public List<List<Object>> Test(List<List<Object>> list, List<Object> mlist) throws Exception { list = new ArrayList<List<Object>>(); try { /* * URL url =this.getClass().getResource("b.xls"); HSSFWorkbook wb = * new HSSFWorkbook(new FileInputStream(url.getPath())); */ HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(new File( "F:/b.xls"))); HSSFSheet sheet = wb.getSheetAt(0); // System.out.println(sheet.getLastRowNum()); 行数 for (int j = 0; j < sheet.getLastRowNum() + 1; j++) { count = sheet.getLastRowNum() + 1; mlist = new ArrayList<Object>(); HSSFRow row = sheet.getRow(j); // 每行的列 for (int i = 0; i < row.getLastCellNum(); i++) { row1 = row.getLastCellNum(); // row.getLastCellNum() 字段数 HSSFCell cell = row.getCell(i); if (cell == null) { mlist.add(""); } else { if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) { HSSFRichTextString resultString = cell .getRichStringCellValue(); System.out.print(resultString + "\t"); mlist.add(resultString); } if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) { int resultNum = (int) (cell.getNumericCellValue()); System.out.print(resultNum + "\t"); mlist.add(resultNum); } } } System.out.println(); list.add(mlist); } } catch (Exception e) { e.printStackTrace(); } return list; } }
表格可以自己加入数据
通过代码解析 得到集合类
再通过前台进行获取
我这里将包导出成jar 放到WebRoot/WEB-INF/lib目录下
最后附上页面代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="com.jx.*"%> <% jx j = new jx(); List<List<Object>> list = null; List<Object> mlist = null; List<List<Object>> hlist = null; hlist=j.Test(list, mlist); %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <table border="1" cellspacing="2" cellpadding="1" align="center" width="80%"> <% for (int i = 0; i < j.count; i++) { %> <tr> <% for (int k = 0; k < j.row1; k++) { %> <td><%=hlist.get(i).get(k)%></td> <% } %> </tr> <% } %> </table> </body> </html>
本来是想用forEach标签来取值 但是嵌套的集合 弄了半天 还是取不到 就干脆放到小脚本里面去了
实现的方式很多,不推荐在页面中直接放小脚本
可以用Servlet传值 也可以用数据库来实现
相关文章推荐
- JSP如何做"正在加载数据,请稍等..."这样的提示页面 loding。。。
- 简单的POI导出JSP页面表格数据到excel
- java jsp 页面下拉框 ajax异步加载数库数据
- extjs 页面打开时表格自动加载后台传来的json数据
- jsp加载时想直接让jsp页面直接显示已处理过得数据(此页面是点击链接进入)即请求servlet
- servlet中如何获取jsp页面表格中的数据
- 关于一加载jsp页面就跳转到servlet获取数据然后再跳回jsp页面的问题
- jsp分页后如果数据库中没有数据导致页面显示不全 表格的边线显示不全
- jsp jquery 页面中select显示加载后的数据默认选中项
- 如何让ajax技术显示数据的jsp页面第一次加载就加载默认查询数据
- 请问如何在Web页面中点击一个button之后,用jsp从数据库中读取数据显示到表格里
- jsp页面表格数据导出到excel
- jsp页面中table页或者ext grid表格数据导出Excel思路
- servlet处理数据库表中所有数据,在jsp页面表格中用jst forEach输出解决办法
- jsp页面带有多选框的grid表格,如何将勾选中的行记录所有列数据传送到后台。
- 【JSP页面】利用数据库中的表格中的数据实现验证用户名和密码
- 从数据库取出数据在jsp页面上以表格形式呈现,并对表格数据进行分页打印操作。
- 在index.jsp页面加载时刷新底部button.jsp的页面数据
- 前台JSP页面以表格展示数据的过程中出现了重复数据