`
ryan_ncu
  • 浏览: 69888 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

利用POI实现简单的Excel读写操作

    博客分类:
  • JAVA
阅读更多

利用POI实现简单的Excel读写操作

java 代码
  1. package test;   
  2.   
  3. import java.io.FileInputStream;   
  4. import java.io.FileOutputStream;   
  5.   
  6. import org.apache.poi.hssf.usermodel.HSSFCell;   
  7. import org.apache.poi.hssf.usermodel.HSSFRow;   
  8. import org.apache.poi.hssf.usermodel.HSSFSheet;   
  9. import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
  10. import org.apache.poi.poifs.filesystem.POIFSFileSystem;   
  11.   
  12. public class POIExcelService    
  13. {   
  14.     private POIFSFileSystem fileSystem;   
  15.     private HSSFWorkbook workbook;   
  16.     private HSSFSheet sheet;   
  17.     private HSSFRow row;   
  18.     private HSSFCell cell;   
  19.        
  20.     public POIExcelService(){}   
  21.        
  22.     /**  
  23.      *   
  24.      * @param xlsPath  
  25.      */  
  26.     public POIExcelService(String xlsPath) throws Exception   
  27.     {   
  28.         this.fileSystem = new POIFSFileSystem(new FileInputStream(xlsPath));   
  29.         this.workbook = new HSSFWorkbook(fileSystem);   
  30.     }   
  31.        
  32.     /**  
  33.      * 获取单元格数据,以String格式返回  
  34.      * @param sheet  
  35.      * @param row  
  36.      * @param cell  
  37.      * @return  
  38.      */  
  39.     public String getCellValue(int sheet,int row,int cell)   
  40.     {   
  41.         setSheet(sheet);   
  42.         setRow(row);   
  43.         setCell(cell);   
  44.         return this.getCell().getStringCellValue();   
  45.     }   
  46.        
  47.     //导出文件   
  48.     public void Export(String xlsPath, int sheet, int row, int cell, String value) throws Exception   
  49.     {   
  50.         FileOutputStream fileOut = new FileOutputStream(xlsPath);       
  51.            
  52.         this.setSheet(sheet);   
  53.         this.setRow(row);   
  54.         this.setCell(cell);   
  55.         this.getCell().setCellValue(value);   
  56.              
  57.         this.workbook.write(fileOut);       
  58.          
  59.         fileOut.close();      
  60.            
  61.     }   
  62.        
  63.     public HSSFCell getCell() {   
  64.         return cell;   
  65.     }   
  66.   
  67.     public void setCell(int cell) {   
  68.         this.cell = this.row.getCell((short)(cell-1));    
  69.     }   
  70.   
  71.     public HSSFRow getRow() {   
  72.         return row;   
  73.     }   
  74.   
  75.     public void setRow(int row) {   
  76.         this.row = this.sheet.getRow(row-1);   
  77.     }   
  78.   
  79.     public HSSFSheet getSheet() {   
  80.         return sheet;   
  81.     }   
  82.   
  83.     public void setSheet(int sheet) {   
  84.         //默认是从0开始的,这里利用n-1转换下,用1开始,调用好理解点   
  85.         this.sheet = this.workbook.getSheetAt(sheet-1);   
  86.     }   
  87.        
  88.     /*  
  89.     public String getCellStringValue(HSSFCell cell) {     
  90.         String cellValue = "";     
  91.         switch (cell.getCellType()) {     
  92.         case HSSFCell.CELL_TYPE_STRING:     
  93.             cellValue = cell.getStringCellValue();     
  94.             if(cellValue.trim().equals("")||cellValue.trim().length()<=0)     
  95.                 cellValue=" ";     
  96.             break;     
  97.         case HSSFCell.CELL_TYPE_NUMERIC:     
  98.             cellValue = String.valueOf(cell.getNumericCellValue());     
  99.             break;     
  100.         case HSSFCell.CELL_TYPE_FORMULA:     
  101.             cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);     
  102.             cellValue = String.valueOf(cell.getNumericCellValue());     
  103.             break;     
  104.         case HSSFCell.CELL_TYPE_BLANK:     
  105.             cellValue=" ";     
  106.             break;     
  107.         case HSSFCell.CELL_TYPE_BOOLEAN:     
  108.             break;     
  109.         case HSSFCell.CELL_TYPE_ERROR:     
  110.             break;     
  111.         default:     
  112.             break;     
  113.         }     
  114.         return cellValue;     
  115.     }    
  116.     */  
  117.        
  118.        
  119.     public static void main(String[] args)    
  120.     {   
  121.         try {   
  122.             POIExcelService excelOper = new POIExcelService("产品项目导入模板.xls");   
  123.             String tmp = excelOper.getCellValue(111);   
  124.             System.out.println(tmp);   
  125.             excelOper.Export("产品项目导入模板_导出.xls",1,1,1,"ABCDE");   
  126.                            
  127.                
  128.         } catch (Exception e) {   
  129.             e.printStackTrace();   
  130.         }   
  131.   
  132.     }   
  133.        
  134.   
  135. }   
分享到:
评论

相关推荐

    java利用poi对Excel进行读写操作支持多sheet格式

    对于标题中提到的"java利用poi对Excel进行读写操作支持多sheet格式",这涉及到以下几个关键知识点: 1. **创建Excel工作簿**:使用`WorkbookFactory.create()`方法,可以创建一个新的工作簿对象,无论是...

    POI实现全版本支持Excel读写工具包

    这个"POI实现全版本支持Excel读写工具包"提供了完整的功能,允许开发者在Java应用程序中轻松地读取、创建、修改Excel文档。下面我们将深入探讨POI框架及其在Excel读写中的应用。 1. **Apache POI简介** Apache POI...

    POI操作Excel的封装

    在这个场景中,"POI操作Excel的封装"指的是对POI API进行的高级抽象和简化,以便于开发人员更方便地处理Excel文件。通过反射和约定,可以创建一个易于使用的API,隐藏底层复杂的POI细节。 反射是Java编程语言中的一...

    poi3.9读写EXCEL

    在Java编程领域,Apache POI库是一个非常重要的工具,它允许开发者读取、写入以及操作Microsoft Office格式的文件,包括Excel(XLS和XLSX格式)。在本例中,我们将聚焦于“poi3.9读写EXCEL”这一主题,特别是针对...

    POI读写excel文件+poi简单文档

    在这个“POI读写excel文件+poi简单文档”中,我们将深入探讨如何利用Apache POI进行Excel文件的读写操作。 首先,我们需要了解POI的主要组件:HSSF(Horrible Spreadsheet Format)用于处理旧版的BIFF格式(.xls)...

    应用POI组件读写Excel文档

    - 自动化测试:测试框架可能利用POI来验证应用程序的Excel输出是否符合预期。 6. **性能优化** 大型Excel文件处理时,内存使用是一个主要问题。POI提供了一些优化策略,如使用SXSSF(Streaming Usermodel API)来...

    Java用POI API实现对Excel表的读取与写入,包含对数据库的读写,亲测有效

    1、POI_EXCEL包下分别有两个类,一个是读取excel内容,一个是想excel写入内容 2、cn.itcast包下的所有包,是为了实现从excel写入到数据库中,和从数据库写入到excel中 注意事项: 1、需要导入maven工程 2、使用...

    POI实现的excel的上传下载

    本知识点将深入讲解如何利用POI库来实现Excel的上传与下载功能,这对于处理大量数据的Web应用尤其有用。 **1. Apache POI库介绍** Apache POI是一个开源项目,它提供了Java API来处理Microsoft Office格式的文件。...

    poi实现对word读写操作实例源码Java源码

    本实例将详细介绍如何利用Apache POI在Java中实现Word的读写功能。 首先,我们需要引入Apache POI的依赖库。通常,这可以通过在Maven或Gradle项目中添加相应的依赖来完成。对于Maven,可以在pom.xml文件中添加以下...

    Poi 读写Excel 合并ExcelSheet Struts2实现

    要将Apache POI与Struts2结合,你需要创建一个Action类,其中包含处理Excel读写的方法。这些方法可能接收上传的Excel文件,返回处理后的Excel文件,或者将结果转化为JSON或其他格式供前端展示。别忘了在struts.xml...

    POI实现的基于动态模板的EXCEL数据导出

    标题中的“POI实现的基于动态模板的EXCEL数据导出”是指利用Apache POI库来创建一个可以动态填充数据的Excel模板,从而实现大量数据的高效导出。Apache POI是一个开源项目,它允许Java开发者读写Microsoft Office...

    POI读写海量Excel(详细解读)

    Apache POI 是一个强大的 Java 库,用于读写 Microsoft Office 文件格式,特别是Excel。相比于早期的 Jxl,POI 提供了对更高版本的 Excel(如2007及以上)的支持,同时也带来了更全面的功能。然而,POI 的复杂性也是...

    excel 读写操作类

    在编程领域,为了实现对Excel文件的自动化处理,我们通常会利用特定的库或API来执行读写操作。本篇将详细介绍如何进行Excel的读写操作,并探讨相关的编程知识点。 1. **库的选择**: - 对于Python,我们可以使用`...

    ExcelFunction_读写excel_读写excel_excel读写_excel读写_源码

    本文将深入探讨如何使用C#编程语言来实现Excel的读写功能,基于提供的标题"ExcelFunction_读写excel_读写excel_excel读写_excel读写_源码"和描述,我们可以理解这是一个已经封装好的类库,方便开发者直接调用。...

    springboot+mybatis+poi 实现excel导入导出

    本篇文章将详细介绍如何利用SpringBoot和MyBatis结合Apache POI实现Excel的导入导出功能。 首先,SpringBoot是一个基于Spring框架的轻量级开发工具,它简化了新Spring应用的初始搭建以及开发过程。SpringBoot通过...

    poi导出根据模板导出excel和简单列表导出excel源码

    总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...

    JXL、POI实现Excel导入导出

    3. **简单易用**:JXL的API设计相对直观,使得开发者可以快速上手,实现Excel文件的读写。 ### Apache POI Apache POI是Apache软件基金会的一个项目,它提供了全面且强大的API,不仅支持xls格式,还支持xlsx(2007...

    java利用poi操作excel所需要的jar包

    在标题和描述中提到的"java利用poi操作excel所需要的jar包"是POI项目的核心依赖,包括以下几个部分: 1. **poi-3.14.jar**: 这是Apache POI的主要库,提供了对低级HSSF(Horrible Spreadsheet Format)的支持,用于...

    java 使用POI框架读写excel doc

    Java中的Apache POI框架是一个强大的库,专门用于处理Microsoft Office格式的文件,包括Excel和Word文档。在本文中,我们将深入探讨如何使用...在实践中不断探索和学习,你将能够熟练地利用POI处理各种Office文档需求。

    txt导入到mysql数据库,利用poi导出到excel

    总结,从TXT文件导入数据到MySQL数据库是一个涉及文件读取、数据解析和数据库操作的过程,而利用Apache POI导出数据到Excel则涉及到文件流处理和Excel文档的构造。这些技能在实际的IT工作中非常实用,尤其是在数据...

Global site tag (gtag.js) - Google Analytics