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种方式则没这限制)

  • 相关阅读:
    3:基于乐观锁(两种)控制并发: version、external锁
    4: ES内执行Groovy脚本,做文档部分更新、执行判断改变操作类型
    2 Match、Filter、排序、分页、全文检索、短语匹配、关键词高亮
    第63章 ASP.NET Identity 支持
    第62章 EntityFramework支持
    第61章 IdentityServer Options
    第60章 设备流交互服务
    第59章 IdentityServer交互服务
    第58章 Profile Service
    第57章 GrantValidationResult
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/7428733.html
Copyright © 2011-2022 走看看