java web读取excel_JavaWeb使用POI操作Excel文件实例

1.为项目添加POI

366511972315f22daf92b7a019845e98.png

点进去之后下载(上边的是编译好的类,下边的是源代码)

a6feeeee4d2f316328178a2e3f9abad9.png

解压文件夹,把下面三个文件复制到WebComtent>WEB-INF>lib文件夹下

2d119c15dffbd04f92b3fed4a61e0ecc.png

再把这三个文件复制到Tomcat的lib文件夹下,否则Tomcat会因为找不到类而报错(这个地方郁闷了一上午)

读取“.xls”格式使用  import org.apache.poi.hssf.usermodel.*;包的内容,例如:HSSFWorkbook

读取“.xlsx”格式使用 import org.apache.poi.xssf.usermodel.*; 包的内容,例如:XSSFWorkbook

读取两种格式使用    import org.apache.poi.ss.usermodel.*    包的内容,例如:Workbook

由于我是读取xslx文件所以使用以上几个jar文件。

注意:

e7a2062de211abdb04e87f123593cf9e.png

上图中的两个文件夹中也有我们需要的jar文件,具体是哪几个忘记了(当然为了保险也可以把所有的都放进WebContent>WEN-INF>lib下再BuildPath进项目),没关系,一会运行的过程中会报错,根据错误信息再去找到相关的jar文件BuildPath进去就好,注意还要再Tomcat>lib下放置一份副本。

2.读取Excel文件

官方教程:链接

类库:链接

直接看代码吧,不难懂。

ab8c807885cf918921c33c3198059c23.png

//遍历一个Excel文件
private void getExcelData(File file) {

System.out.println("now in getExcelData" );

System.out.println("get file name:"+file.getName().toString());

XSSFWorkbook workBook= null;

try {

workBook = new XSSFWorkbook(file);

int sheetCount = workBook.getNumberOfSheets(); //Sheet的数量

System.out.println("num of sheet is : "+sheetCount);

//遍历每个sheet

for(int i=0;i

{

XSSFSheet sheet = workBook.getSheetAt(i);

//获取总行数

int rowCount = sheet.getPhysicalNumberOfRows();

System.out.println("num of row : "+ rowCount);

System.out.println("i now in sheet : "+ i);

//遍历每一行

for (int r = 0; r < rowCount; r++) {

XSSFRow row = sheet.getRow(r);

//获取总列数

int cellCount = row.getPhysicalNumberOfCells();

//遍历每一列

for (int c = 0; c < cellCount; c++) {

XSSFCell cell = row.getCell(c);

String cellValue = null;

switch (cell.getCellTypeEnum()) {

case STRING:

//System.out.println("celltype is string");

cellValue = cell.getStringCellValue();

break;

case NUMERIC:

//System.out.println("celltype is Number");//整数,小数,日期

cellValue = String.valueOf(cell.getNumericCellValue());

break;

case BOOLEAN:

//System.out.println("celltype is Boolean");

cellValue = String.valueOf(cell.getBooleanCellValue());

break;

case FORMULA:

//System.out.println("celltype is Formula");//公式

cellValue = "错误,不能为公式";

break;

case BLANK:

//System.out.println("celltype is Blank");//空白

cellValue = cell.getStringCellValue();

break;

case ERROR:

//System.out.println("celltype is Error");

cellValue = "错误";

break;

default:

//System.out.println("celltype : default");

cellValue = "错误";

break;

}

System.out.println(cellValue.toString());

}

}

}

} catch (IOException e) {

System.out.println("File Error IOException : "+e.getMessage());

}

catch (Exception e) {

// TODO: handle exception

}

finally {

try {

workBook.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("workBook.close()&fileInputStream.close() Error : "+e.getMessage());

}

System.out.println("Try Catch : finally");

}

System.out.println("hi feipeng8848 getExcelData is done");

}

以上所述是小编给大家介绍的JavaWeb使用POI操作Excel文件实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

架构大型企业Java项目–我的虚拟JUG会话

昨天我很荣幸被邀请参加虚拟JUG 。 这是一个很大的荣誉&#xff0c;其原因有很多&#xff1a;首先&#xff0c;我是vJUG董事会的一员&#xff0c;其次&#xff0c;因为这是我第二次向这个对Java感兴趣的伟大团队做演讲。 被邀请回来总是很高兴的。 架构大型企业Java项目 过去&…

javascript操作cookie

1. 什么是cookie&#xff1f; Cookie就是浏览器保存在计算机上面的一下信息。一般是保存用户登录状态&#xff0c;就是说Cookie会保存用户登录某个网站的信息在本地&#xff0c;下次这个用户访问网站的时候会自动取出他的Cookie信息&#xff0c;方便定制用户想要的内容。2. 实例…

java 静态方法与实例方法的区别_静态方法与实例方法的区分

Java系列之&#xff1a;看似简单的问题 静态方法和实例化方法的区别Java程序启动class文件被读取时类被加载&#xff0c;如果有static方法&#xff0c;此时会分配内存&#xff0c;非static方法实例化类时才在内存中分配控件存储&#xff0c;引用存储在堆栈中&#xff0c;实体存…

使用wrapper将java程序注册程windows服务后不生效

使用wrapper将java程序注册程windows服务后不生效 使用add.bat或test***.bat测试通过了&#xff0c; 然后使用install***.bat注册后cmd显示注册成功。 但是程序到了运行时间就是不运行&#xff01;&#xff01; 解决办法 控制面板 ---> 管理工具 ---> 服务&#xff0c;找…

有简历,为何还要自我介绍?

有简历&#xff0c;为何还要自我介绍&#xff1f; 一个常规的面试&#xff0c;寒暄之后考官提出的第一个面试问题几乎千篇一律&#xff1a;“请你简单地做一下自我介绍”。有些被面试者都会问&#xff1a;简历中情况已经写得很清楚了&#xff0c;这是否多此一举&#xff1f; 要…

java aio聊天_JAVA aio简单使用

使用aio&#xff0c;实现客户端和服务器 对一个数进行轮流累加//服务器端public class Server {private static ExecutorService executorService Executors.newFixedThreadPool(4);public static void main(String[] args) {try {AsynchronousChannelGroup groupAsynchronous…

使用jOOQ的MockDataProvider破解简单的JDBC ResultSet缓存

某些查询不应该一直访问数据库。 例如&#xff0c;当您查询主数据 &#xff08;例如系统设置&#xff0c;语言&#xff0c;翻译等&#xff09;时&#xff0c;您可能希望避免一直通过网络发送相同的愚蠢查询&#xff08;和结果&#xff09;。 例如&#xff1a; SELECT * FROM l…

ASP.NET内置对象

Request[从浏览器获取信息] QueryString:获取HTTP查询字符串变量集合 Path:获取当前请求的虚拟路径 UserHostAddress:获取远程客户端的IP主机地址 Browser:获取有关正在请求的客户端浏览器功能的信息 Form:获取窗体变量的集合 Url:获取当前请求的URL信息 MapPath():返回与Web服…

java爬虫新闻网站_java爬虫 之 搜狐新闻爬虫(一)

最近开始学习java爬虫&#xff0c;网上很多教程&#xff0c;自己找的时候花了好久的时间去理解别人的思路。打算将自己最近的学习进度稍作整理&#xff0c;理清思路。主要工具使用jsoup&#xff1a;具体用法看http://blog.csdn.net/u012315428/article/details/51135640下面是获…

easyui源码翻译1.32--ValidateBox(验证框)

前言 使用$.fn.validatebox.defaults重写默认值对象。下载该插件翻译源码 validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效。如果用户输入了无效的值&#xff0c;它将会更改输入框的背景颜色&#xff0c;并且显示警告图标和提示信息。该验证框可以结合form(表单…

java静态方法获取对象_JavaPowerMockito模拟单个静态方法和返回对象

小编典典你想要做的是1的一部分和2的全部的组合。你需要使用PowerMockito.mockStatic为类的所有静态方法启用静态模拟。这意味着可以使用when-thenReturn语法对它们进行存根。但是&#xff0c;当你调用尚未在模拟实例上显式存根的方法时&#xff0c;你正在使用的2个参数的mathS…

从战中反弹:将Git提交信息作为JSON返回

在某些情况下&#xff0c;我们必须知道部署到远程服务器的Web应用程序的确切版本。 例如&#xff0c;客户可能想知道我们是否已经在服务器X上部署了错误修复程序。 当然&#xff0c;我们可以尝试使用“传统”方法找到该问题的答案。 问题是&#xff1a; 没有人不记得是谁更新…

在论坛中出现的各种疑难问题:日志收缩问题

最近&#xff0c;在论坛中&#xff0c;遇到了不少疑难的问题&#xff0c;在此特别记录&#xff0c;同时也感谢发帖人的分享、以及其他网友的热心回答。 1、日志暴大&#xff0c;无法收缩&#xff0c;谁来挑战一下&#xff01; http://bbs.csdn.net/topics/390674731?page1#pos…

学java前要学css_教你一招:学习Java必须学会的CSS用法

一&#xff1a;CSS概述什么是CSSCSS就是层叠样式表(Casading Style Sheets)&#xff0c;通常称为CSS样式表&#xff0c;或者是级联样式表。主要用于设置HTML中的文本&#xff0c;内容(字体&#xff0c;大小&#xff0c;对齐)&#xff0c;图片外形(宽高&#xff0c;边框样式&…

标准I/O库之缓冲

标准I/O库提供缓冲的目的是尽可能减少使用read和write调用的次数。它也对每个I/O流自动地进行缓冲管理&#xff0c;从而避免了应用程序需要考虑这一点所带来的麻烦。 标准I/O提供了三种类型的缓冲&#xff1a; &#xff08;1&#xff09;全缓冲。这种情况下&#xff0c;在填满标…

java如何写安卓接口文档_android、java制作sdk以及自动生成文档

最近一直在做android开发&#xff0c;昨天经理让我写个接口SDK做个接口文档&#xff0c;以便后面的开发。这让我很焦灼&#xff0c;SDK怎么做&#xff1f;要是只有敲代码还好。可是那个接口文档&#xff01;&#xff01;&#xff01;文档这东西最讨厌了&#xff0c;头都大了后来…

[转载]jquery cookie的用法

原文地址:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526663.html jQuery cookie是个很好的cookie插件&#xff0c;大概的使用方法如下 example $.cookie(’name’, ‘value’); 设置cookie的值&#xff0c;把name变量的值设为value example $.cookie(’name’…

21世纪的设计模式:抽象工厂模式

这是我的演讲的第二部分&#xff0c;“ 21世纪的设计模式” 。 此模式在Java代码中到处都有使用&#xff0c;尤其是在更多“企业”代码库中。 它涉及一个接口和一个实现。 该界面如下所示&#xff1a; public interface Bakery {Pastry bakePastry(Topping topping);Cake bak…

java textfield类方法_java.awt.TextField类

java.awt.TextField是一个文本框组件1.构造方法TextField()&#xff1a;创建一个默认长度为一个机器字符长的文本框TextField(int n)&#xff1a;创建一个指定长度为n个机器字符长的文本框TextField(String s)&#xff1a;创建一个文本框&#xff0c;该文本框的初始字符串为sTe…

广东金融学院java实验报告_《大学计算机Ⅰ》实验报告实验三

广东金融学院实验报告课程名称&#xff1a;大学计算机Ⅰ实验编号 及实验名称 姓 名 实验地点 指导教师蔡文璇 12-204课室 伍春晖博士实验三 中文Excel 2007实验系 别 班 级 实验时数 成 绩财经传媒系 经济秘书(2)班6学 号 实验日期 同组其他成员111602242 2011年 12 月07 日无一…