JavaWeb使用POI操作Excel文件实例

发布时间 - 2026-01-11 00:53:54    点击率:

1.为项目添加POI

POI官网链接

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

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

再把这三个文件复制到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文件。

注意:

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

2.读取Excel文件

官方教程:链接

类库:链接

直接看代码吧,不难懂。

//遍历一个Excel文件<br>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<sheetCount;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文件实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# javaweb使用poi操作excel  # java  # web  # poi  # java常用工具类之Excel操作类及依赖包下载  # Java实现操作excel表格  # java poi读取excel操作示例(2个代码)  # java 中JXL操作Excel实例详解  # 利用java操作Excel文件的方法  # java使用POI操作excel文件  # Java写入写出Excel操作源码分享  # java操作excel的方法  # Java操作excel的三种常见方法实例  # 遍历  # 的是  # 几个  # 报错  # 小编  # 我是  # 也有  # 在此  # 找不到  # 就好  # 两种  # 给大家  # 再去  # 错误信息  # 这三个  # 再把  # 所述  # 给我留言  # 图中  # 中会 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速查询网站的真实建站时间?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何在VPS电脑上快速搭建网站?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  开心动漫网站制作软件下载,十分开心动画为何停播?  如何用低价快速搭建高质量网站?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Python高阶函数应用_函数作为参数说明【指导】  如何注册花生壳免费域名并搭建个人网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  图册素材网站设计制作软件,图册的导出方式有几种?  高端云建站费用究竟需要多少预算?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何为不同团队 ID 动态生成多个独立按钮  Linux系统命令中tree命令详解  如何在宝塔面板创建新站点?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Linux网络带宽限制_tc配置实践解析【教程】  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何确认建站备案号应放置的具体位置?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Swift中swift中的switch 语句  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  使用spring连接及操作mongodb3.0实例  如何在阿里云部署织梦网站?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Android滚轮选择时间控件使用详解  独立制作一个网站多少钱,建立网站需要花多少钱?  如何在Windows服务器上快速搭建网站?  利用JavaScript实现拖拽改变元素大小  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程