`
小杨学JAVA
  • 浏览: 901543 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

POI 读取EXCEL文件及一些简单的格式设置。

 
阅读更多

POI 读取EXCEL文件及一些简单的格式设置。
2011-05-25 15:18

public class ExcelBook 
{
    private java.io.FileInputStream inputStream;
    private FileOutputStream outputStream;
    private org.apache.poi.hssf.usermodel.HSSFWorkbook workBook;
    private org.apache.poi.hssf.usermodel.HSSFSheet workSheet;

    public ExcelBook()
    {
       inputStream = new java.io.FileInputStream(templateFileName);
       org.apache.poi.poifs.filesystem.POIFSFileSystem fileSystem = new  org.apache.poi.poifs.filesystem.POIFSFileSystem(inputStream);
       try
       {

         //得到Excel工作簿对象
//        workBook = (org.apache.poi.hssf.usermodel.HSSFWorkbook)org.apache.poi.ss.usermodel.WorkbookFactory.create(fileSystem);
          workBook = new org.apache.poi.hssf.usermodel.HSSFWorkbook(fileSystem);
       }
       catch(java.io.IOException e)
       {
          System.out.println();
       }
       finally
       {
          if(inputStream != null)
          {
             inputStream.close();     
          }
       }

         //得到Excel工作表对象
//       workSheet = getSheet(java.lang.String name);
       workSheet = getSheetAt(int index);

      //得到Excel工作表的行

      HSSFRow row = workSheet.getRow(i);

      //得到Excel工作表指定行的单元格

      HSSFCell cell = row.getCell(j);

      //取得有效行数

     int  rowCount = workSheet.getLastRowNum();

     //取得一行的有效单元格数

      int  cellCount = row.getLastCellNum();

      //设定行高,列宽

     workSheet.setColumnWidth((short)column,(short)width);

     row.setHeight((short)heigtt);
       ......
      HSSFCellStyle style = workBook.createCellStyle();//创建样式对象
     //设置字体

      HSSFFont font = workBook.createFont();//创建字体对象

      font.setFontHeightInPoints((short)15);//设置字体大小

      font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//设置粗体

      font.setFontName("黑体");//设置为黑体字

      style.setFont(font);//将字体加入到样式对象
      //设置对齐方式

      style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);//水平居中

      style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中

      //设置边框

      style.setBorderTop(HSSFCellStyle.BORDER_THICK);//顶部边框粗线

      style.setTopBorderColor(HSSFColor.RED.index);//设置为红色

      style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);//底部边框双线

      style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);//左边边框

      style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);//右边边框

      //格式化日期

      style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));

      HSSFCell cell = row.createCell(1);//创建单元格

      cell.setCellValue(new Date());//写入当前日期

      cell.setCellStyle(style);//应用样式对象

      //添加区域,合并单元格

      Region region = new Region(rowFrom,columnFrom,rowTo,columnTo);

     //工作表的放大,缩小

      workSheet.setZoom(3,4) ; //75%

//      Excel中公式不能自动计算出来的问题

//       HSSFCell cell1 = row.getCell((short)1);
//       if (HSSFCell.CELL_TYPE_FORMULA == cell1.getCellType()) {
//      //取得公式单元格的公式,重新设置
//        cell1.setCellFormula(cell1.getCellFormula());
//       }

      //强制刷新单元格公式

      HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(workBook);

      eval.evaluateFormulaCell(Cell cell); //记算公式,保存结果,但不改变公式。

      //强制刷新Excel文件的所有公式

      HSSFFormulaEvaluator.evaluateAllFormulaCells(workBook);

      ......

     //文件输出流

      workSheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 7));

      workSheet.addMergedRegion(new CellRangeAddress(2, 2, 5, 7));

      workSheet.addMergedRegion(new CellRangeAddress(3, 3, 1, 3));

 

       //TODO
       ......
       try
       {
          outputStream = new java.io.FileOutputStream(outFileName);
          workBook.write(java.io.OutputStream stream) 
       }
       catch(java.io.IOException e)
       {
          System.out.println();
       }
       finally
       {
          if(outputStream != null)
          {
             outputStream.close();     
          }
       }
    }
}

 

转载自:http://hi.baidu.com/%D3%A3%BB%A8%D4%B0_%C9%BD%CE%F7/blog/item/42ac6ed6ff9484ce8d10291b.html

分享到:
评论

相关推荐

    poi读取excel文件

    描述中还提到"亲测as上可以读取到2010excel内容",这表明这些库兼容较新的Excel文件格式(.xlsx),这是由Microsoft Office 2007及更高版本引入的。 附带的`ExcelUtil.java`源码文件,通常是一个工具类,封装了使用...

    POI读取Excel带格式数据

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

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

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

    Java用poi读取excel文件

    它提供了对 Microsoft Office 文件格式的读写能力,包括 Excel、Word、PowerPoint 等。使用 POI,我们可以轻松地读取和写入 Excel 文件。 下面是一个简单的示例代码,演示如何使用 POI 读取 Excel 文件: 首先,...

    利用POI读取excel写入到word

    要实现"利用POI读取excel写入到word",我们需要以下步骤: 1. **准备环境**:首先,确保你的项目已经引入了Apache POI的依赖。在给定的压缩包中,"poi - 副本"可能是包含POI库的JAR文件,你需要将其添加到你的项目...

    POI读取EXCEL教程

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

    poi读取大文件Excel,使用xml格式解析,速度实测50mb文件13s,可指定sheet页内容,带工具类和测试类

    Apache POI 是一个广泛使用的Java库,用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在处理大型Excel文件时...通过这样的方法,即使面对几十MB甚至更大的Excel文件,也能在较短时间内完成高效读取。

    POI 读取Excel文件

    Apache POI 是一个开源项目,专门用于...通过以上介绍,你应该已经掌握了使用 Apache POI 读取 Excel 文件的基本方法和一些高级特性。在实际开发中,根据具体需求进行灵活运用,可以实现复杂的 Excel 数据处理任务。

    POI读取excel的内容.zip

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

    android POI 读取excel 精简jar

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

    POI读取2007 Excel文件

    标题中的“POI读取2007 Excel文件”指的是使用Apache POI库来解析和操作Microsoft Office Open XML (OOXML)格式的Excel文件,这种格式通常以.xlsx为扩展名。Apache POI是一个流行的Java库,它允许开发人员在Java应用...

    Java用poi读取excel文件.docx

    它提供了一系列的组件,用于读取和写入各种格式的文件,包括 Microsoft Office 文件格式,如 Excel、Word、PowerPoint 等。POI 库可以在 Java 应用程序中使用,以便读取和写入这些文件。 使用 POI 读取 Excel 文件 ...

    Java 新版POI 读取excel文件信息返回List<List<String>>对象,包含文件内公式处理

    基于新版本的POI编写的读取Excel文件数据的工具类,可根据绝对路径、File对象、InputSteam对象读取解析Excel文件内容,并返回List&lt;List&lt;String&gt;&gt;格式结果,其中包含对单元格公式的处理。

    poi读取excel并输出到jsp页面

    “JSP读取excle文件(poi)_爱题巴_爱技术_小川哥_百度空间.htm”可能是一个详细教程,讲解了如何结合JSP和POI读取Excel文件。 总的来说,Apache POI提供了强大的API来读取Excel数据,而JSP则负责在Web页面上展示...

    apache poi 读取Excel文件内容(2003,2007)

    这篇博文主要讲解如何使用Apache POI库来读取Excel文件的内容,无论是2003版的.XLS还是2007版及以后的.XLSX格式。 在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地操作Excel文件。首先,我们需要...

    poi读取Excel2007文件

    标题中的“poi读取Excel2007文件”指的是使用Apache POI库来处理Microsoft Office Open XML (OOXML) 格式的Excel文件,也就是.xlsx格式。Apache POI是Apache软件基金会的一个开源项目,它提供了Java API,使得开发者...

    poi读取Excel用到的jar包

    在使用POI读取Excel文件时,常见的步骤包括: 1. 引入Apache POI库:在Java源代码中,需要导入必要的POI类,如`org.apache.poi.ss.usermodel`包下的`Workbook`,`Sheet`,`Row`和`Cell`等。 2. 创建`Workbook`对象...

    POI导出Excel文件

    在这个实例中,我们可能关注的是XSSF,因为.xlsx是现代版本的Excel文件格式。 Servlet方法是将数据导出到Excel的一种服务器端技术,常用于Web应用程序。它允许用户请求一个URL,然后服务器生成Excel文件并将其作为...

    Java用poi读取excel文件.pdf

    2. 使用 `POIFSFileSystem` 类打开文件系统,这是 POI 用来读取老版本(97-2003 格式)Excel 文件的方式。 ```java POIFSFileSystem fs = new POIFSFileSystem(input); ``` 3. 创建 `HSSFWorkbook` 对象,表示整个...

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

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

Global site tag (gtag.js) - Google Analytics