`
kingmxj
  • 浏览: 182427 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI 读excel

    博客分类:
  • Java
阅读更多
package com.amazon.excel;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import java.text.DecimalFormat;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 *
 * @author shiwt
 *
 * java读取excel文件
 *
 * 一个Excel文件的层次:Excel文件->工作表->行->单元格对应到POI中,为:workbook->sheet->row->cell
 *
 */
public class ExcelReader {

 public static String outputFile = "e:\\test\\tels.xls";

 public static String fileToBeRead = "e:\\test\\tels.xls";

 public void CreateExcel() {
  try {
   // 创建新的Excel 工作簿
   HSSFWorkbook workbook = new HSSFWorkbook();
   // 在Excel工作簿中建一工作表,其名为缺省值
   // 如要新建一名为"效益指标"的工作表,其语句为:
   // HSSFSheet sheet = workbook.createSheet("效益指标");
   HSSFSheet sheet = workbook.createSheet();
   // 在索引0的位置创建行(最顶端的行)
   HSSFRow row = sheet.createRow((short) 0);
   // 在索引0的位置创建单元格(左上端)
   HSSFCell cell = row.createCell((short) 0);
   // 定义单元格为字符串类型
   cell.setCellType(HSSFCell.CELL_TYPE_STRING);
   // 在单元格中输入一些内容
   cell.setCellValue("sweater");
   // 新建一输出文件流
   FileOutputStream fOut = new FileOutputStream(outputFile);
   // 把相应的Excel 工作簿存盘
   workbook.write(fOut);
   fOut.flush();
   // 操作结束,关闭文件
   fOut.close();
   System.out.println("文件生成...");

  } catch (Exception e) {
   System.out.println("已运行 xlCreate() : " + e);
  }
 }

 /**
  *
  * 读取excel,遍历各个小格获取其中信息,并判断其是否是手机号码,并对正确的手机号码进行显示
  *
  *
  * 注意: 1.sheet,以0开始,以workbook.getNumberOfSheets()-1结束 2.row,
  * 以0开始(getFirstRowNum),以getLastRowNum结束 3.cell,
  * 以0开始(getFirstCellNum),以getLastCellNum结束, 结束的数目不知什么原因与显示的长度不同,可能会偏长
  *
  */
 public void readExcel() {
  // 将被表示成1.3922433397E10的手机号转化为13922433397,不一定是最好的转换方法
  DecimalFormat df = new DecimalFormat("#");

  try {
   // 创建对Excel工作簿文件的引用
   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
     fileToBeRead));
   // System.out
   // .println("===SheetsNum===" +
   // workbook.getNumberOfSheets());//获取sheet数
   for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
    if (null != workbook.getSheetAt(numSheets)) {
     HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
     // System.out.println("+++getFirstRowNum+++" +
     // aSheet.getFirstRowNum());//
     // System.out.println("+++getLastRowNum+++" +
     // aSheet.getLastRowNum());

     for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet
       .getLastRowNum(); rowNumOfSheet++) {
      if (null != aSheet.getRow(rowNumOfSheet)) {
       HSSFRow aRow = aSheet.getRow(rowNumOfSheet);

       // System.out.println(">>>getFirstCellNum<<<"+
       // aRow.getFirstCellNum());
       // System.out.println(">>>getLastCellNum<<<"+
       // aRow.getLastCellNum());
       for (short cellNumOfRow = 0; cellNumOfRow <= aRow
         .getLastCellNum(); cellNumOfRow++) {

        if (null != aRow.getCell(cellNumOfRow)) {
         HSSFCell aCell = aRow.getCell(cellNumOfRow);

         int cellType = aCell.getCellType();
         // System.out.println(cellType);
         switch (cellType) {
         case 0:// Numeric
          String strCell = df.format(aCell
            .getNumericCellValue());

          System.out.println(strCell);

          break;
         case 1:// String
          strCell = aCell.getStringCellValue();

          System.out.println(strCell);

          break;
         default:
          // System.out.println("格式不对不读");//其它格式的数据
         }

        }

       }
      }

     }

    }

   }

  } catch (Exception e) {
   System.out.println("ReadExcelError" + e);
  }

 }

 public static void main(String[] args) {
  ExcelReader poi = new ExcelReader();
  // poi.CreateExcel();
  poi.readExcel();

 }
}
分享到:
评论

相关推荐

    利用POI读取excel写入到word

    本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,我们需要了解Apache POI的基本概念。POI提供了一组API,允许程序员在Java应用程序中创建、修改和显示这些文件。对于Excel...

    poi读取excel文件

    标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...

    poi读取excel并输出到jsp页面

    标题中的“poi读取excel并输出到jsp页面”是指使用Apache POI库来处理Microsoft Excel文件,并将数据在JavaServer Pages (JSP) 页面上显示的技术。Apache POI 是一个开源项目,它允许开发者创建、修改和显示MS ...

    android5使用poi读取excel

    android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel

    android POI 读取excel 精简jar

    在Android平台上,使用Apache POI库来读取Excel文件是一种常见的解决方案。Apache POI是一个流行的开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个“android ...

    poi读取excel文件实例(兼容excel2007)

    在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...

    POI读取excel的内容.zip

    本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.poi ...

    poi读取Excel用到的jar包

    标题提到的“poi读取Excel用到的jar包”指的是在Java项目中使用POI库进行Excel操作所需引入的依赖文件。这些jar包在描述中给出,包括了以下几个: 1. poi-ooxml-schemas-3.8-beta5-20111217.jar:这个文件包含了...

    poi 读取excel小实例

    实现了JAVA 窗口,读取EXCEL文件,用poi读取EXCEL内容只是一个小例子

    apache POI 读取 Excel

    apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895

    POI读取Excel带格式数据

    本篇将详细讲解如何使用Apache POI读取Excel文件中的带格式数据。 首先,理解Apache POI的基本架构至关重要。POI提供了HSSF(Horrible Spreadsheet Format)用于处理老版本的.xls文件,而XSSF用于处理较新的.xlsx...

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI读取Excel** 读取Excel主要涉及以下步骤: 1. **打开Workbook**:通过 FileInputStream 读取Excel文件,然后创建Workbook对象。 2. **获取Sheet**:从Workbook中获取需要的Sheet。 3. **遍历Row和Cell**:...

    POI读取Excel合并单元格并储存

    本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...

    java POI读取excel文件数据

    在这个场景中,我们将详细探讨如何使用Java POI读取Excel文件中的数据,包括获取总行数、列数、单元格内容、合并单元格、行高、列宽以及图片等信息。 首先,确保在项目中已经引入了Apache POI的依赖库。如果你使用...

    poi读取excel2007和2003兼容工具例子

    在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...

    POI读取Excel

    在这个例子中,我们主要关注如何使用POI读取Excel文件。以下是对给定代码的详细解释以及相关知识点: 1. **导入所需的库**: 首先,我们需要导入Apache POI相关的类,如`File`, `FileInputStream`, `IOException`,...

    poi读取excel并校验小例子

    本示例将深入探讨如何使用Apache POI来读取Excel数据,并结合文件系统操作进行特定的校验。 首先,Apache POI提供了一系列接口和类,如`XSSFWorkbook`用于处理.xlsx格式的Excel文件,` XSSFSheet `代表一个工作表,...

    POI读取excel的例子

    POI读取excel的例子

    POI读取EXCEL教程

    读取Excel文件使用HSSF的usermodel API非常直观。首先,你需要创建一个`InputStream`,然后实例化`HSSFWorkbook`: ```java InputStream myxls = new FileInputStream("workbook.xls"); HSSFWorkbook wb = new ...

    JAVA_poi读取Excel.pdf

    JAVA POI 读取 Excel JAVA POI 是 Apache 的一个子项目,提供了一...本文总结了 JAVA POI 读取 Excel 的知识点,包括 POI 简介、Excel 文件的组织形式、POI 的主要对象、使用 POI 读取 Excel 和使用 POI 写入 Excel。

Global site tag (gtag.js) - Google Analytics