zoukankan      html  css  js  c++  java
  • 【Java POI】1、Java POI的使用

    很多时候,一个软件应用程序需要生成Microsoft Excel文件格式的报告。有时,一个应用程序甚至希望将Excel文件作为输入数据。例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Excel。

    任何Java程序员愿意将MS Office文件的输出,可以使用预定义和只读API来做到。

    什么是Apache POI?

    Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。

    Apache POI组件

    Apache POI包含类和方法,来将MS Office所有OLE 2文档复合。此API组件的列表如下。

    • POIFS (较差混淆技术实现文件系统) : 此组件是所有其他POI元件的基本因素。它被用来明确地读取不同的文件。

    • HSSF (可怕的电子表格格式) : 它被用来读取和写入MS-Excel文件的xls格式。

    • XSSF (XML格式) : 它是用于MS-Excel中XLSX文件格式。

    • HPSF (可怕的属性设置格式) : 它用来提取MS-Office文件属性设置。

    • HWPF (可怕的字处理器格式) : 它是用来读取和写入MS-Word的文档扩展名的文件。

    • XWPF (XML字处理器格式) : 它是用来读取和写入MS-Word的docx扩展名的文件。

    • HSLF (可怕的幻灯片版式格式) : 它是用于读取,创建和编辑PowerPoint演示文稿。

    • HDGF (可怕的图表格式) : 它包含类和方法为MS-Visio的二进制文件。

    • HPBF (可怕的出版商格式) : 它被用来读取和写入MS-Publisher文件。

    接下来主要介绍HSSF组件的使用,直接上代(gan)码(huo)

    一、常用设置

    // 生成Excel表格
    HSSFWorkbook workBook = new HSSFWorkbook();

    //新建sheet

    HSSFSheet sheet = workBook.createSheet();

    //设置列宽度自适应,i为列的序号,从零开始

    for (int i = 0; i < colId; i++) {
    sheet.autoSizeColumn(i, true);
    }

    // 定义样式
    HSSFCellStyle contentStyle = workBook.createCellStyle();
    HSSFFont contentFont = workBook.createFont(); // 定义字体
    contentFont.setFontName("微软雅黑");//设置字体
    contentFont.setFontHeightInPoints((short) 10);//设置字号
    contentFont.setBold(true);//设置加粗
    contentFont.setColor(HSSFColor.WHITE.index);//设置字体颜色
    contentStyle.setFont(contentFont);
    contentStyle.setAlignment(HorizontalAlignment.CENTER);//左右居中
    contentStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中

    HSSFCellStyle contentStyleTemp = workBook.createCellStyle();
    contentStyleTemp.cloneStyleFrom(contentStyle);//克隆样式
    contentStyleTemp.setFillForegroundColor(HSSFColor.HSSFColorPredefined.ROYAL_BLUE.getColor().getIndex());//背景色设置

    二、自定义颜色

    HSSFPalette 提供了两种方式来自定义颜色:

        1, 修改已经存在的颜色对象的RGB值

           代码如下,将ORANGE的颜色值修改为(255,204,153)

          HSSFPalette customPalette = workbook.getCustomPalette();  

          customPalette.setColorAtIndex(HSSFColor.ORANGE.index, (byte) 255, (byte) 204, (byte) 153);  

          在修改后,再设置颜色为ORANGE时,将使用修改后的颜色值.

        2, 通过RGB值添加一个颜色(有一定的限制)

            代码如下, 添加一个颜色(153,204,255),返回一个HSSFColor对象.

           HSSFPalette customPalette = workbook.getCustomPalette();

           HSSFColor newColor = customPalette.addColor((byte) 153, (byte) 204, (byte) 255);  

            这样就得到新的颜色对象newColor,可使用之. (第2种方法的限制是在 使用时必须要有newColor对象的引用才行,而第1种方式则没这限制)

  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/7428733.html
Copyright © 2011-2022 走看看