服务热线

029-87595239

当前位置:首页 > 社区新闻 > 技术文章 >

Java中Apache POI的使用

很多时分,一个软件应用程序需求生成Microsoft Excel文件格局的陈述。有时,一个应用程序乃至期望将Excel文件作为输入数据。例如,一个公司开发的应用程序将财务部门需求一切输出生成自己的Excel

任何Java程序员愿意将MS Office文件的输出,能够运用预界说和只读API来做到。

那么什么是Apache POI以下是西安Java培训整理了相关知识

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-ExcelXLSX文件格局。

HPSF (可怕的特点设置格局) : 它用来提取MS-Office文件特点设置。

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

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

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种方法则没这约束)