「javapoi介绍」java的po
本篇文章给大家谈谈javapoi介绍,以及java的po对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
jxl和POI的区别
首先从优缺点上来说
一、jxl
优点:
Jxl对中文支持非常好,操作简单,方法看名知意。
Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写
支持Excel 95-2000的所有版本(网上说目前可以支持Excel2007了,还没有尝试过)
生成Excel 2000标准格式
支持字体、数字、日期操作
能够修饰单元格属性
支持图像和图表,但是这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。
缺点:效率低,图片支持不完善,对格式的支持不如POI强大
二、POI
优点:
效率高
支持公式,宏,一些企业应用上会非常实用
能够修饰单元格属性
支持字体、数字、日期操作
缺点:不成熟,代码不能跨平台,貌似不少同行在使用工程中还碰到让人郁闷的BUG(最近的项目中也是遇到了一些bug,不过目前没有查出来是代码的问题还是POI的问题,总之问题很诡异,数据替代参数总有失败的。关于不能跨平台这一说,我也没有试验过,不过Java不是跨平台吗?POI是JAVA的一个组件,怎么就不能跨平台了呢,总之这些问题还需要在以后的项目中多多实践,才能比较出区别之处。)
POI动态生成Excel
项目功能里要求能够将展示的报表导出excel,因为报表的数据都是动态从list传进来的,所以使用了POI技术来动态构建excel文件。
百科里说POI是介个样子的
“ApachePOI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对MicrosoftOffice格式档案读和写的功能”
简单来说就是通过它的API可以进行创建/读取文档,sheet,行列单元格等操作,也可以设置文档的各个样式。
刚接触这个任务的时候查了很多资料,最后主要是参考了这篇文章,程序复制粘贴就跑得通,对POI的整个理解可以得到很好地提升。
详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
然后参考着就实现了项目里要求的样子啦
=======================================================
百科中的示例附上作为下次使用的备忘。
创建Excel 文档
示例1将演示如何利用Jakarta POI API 创建Excel 文档。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java .io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盘下*/
public static String outputFile="D:\test.xls";
public static void main(String argv[]){
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("增加值");
// 新建一输出文件流
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文档中的数据
示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为test1.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java .io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜线*/
public static String fileToBeRead="D:\test1.xls";
public static void main(String argv[]){
try{
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 创建对工作表的引用。
// 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文档中,第一张工作表的缺省索引是0,
// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
// 读取左上端单元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 输出单元内容,cell.getStringCellValue()就是取所在单元的值
System.out.println("左上端单元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已运行xlRead() : " + e );
}
}
}
设置单元格格式
在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置 字体和单元格的格式,然后再应用这些格式:
1、创建字体,设置其为红色、粗体:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、创建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、应用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("标题 ");
处理WORD文档
import java .io.*;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
public class TestPoi {
public TestPoi() {
}
public static void main(String args[]) throws Exception
{
FileInputStream in = new FileInputStream ("D:\a.doc");
WordExtractor extractor = new WordExtractor();
String str = extractor.extractText(in);
//System.out.println("the result length is"+str.length());
System.out.println(str);
}
}
搜集链接 方便以后查阅
POI操作Excel常用方法总结
自己封装的poi操作excel工具类
Java中的POI他是干嘛的可以做什么
这个是一个用于操作EXCEL和WORD的工具包,不过貌似开发团队解散了,一直没有更新,对WORD的支持不是很好,建议还是使用ITEXT之类吧
apache poi什么用
在 GrapeCity Documents出现以前,服务端文档组件向来以Apache POI为代表,作为一款由Java编写的开源API库,Apache POI 主要应用于对Microsoft Office文档进行读、写,以及创建和维护。
但正如POI所定义的那样:作为“Poor Obfuscation Implementation”首字母的缩写,Apache POI仅提供“简单的模糊实现”,其在创建复杂逻辑的大型文档时,经常会捉襟见肘。
如果想通过简单的代码逻辑,快速创建、加载、编辑、导入/导出大型文档(Excel、Word、PDF),并将其部署到云端时,又该如何实现?
而这些需求,恰恰是GrapeCity Documents 可以满足的。
GrapeCity Documents 是一款快速且高效的服务端文档组件包,可在 Windows、Mac、Linux 上完美运行,同时适用于 .NET和 Java 平台,可在不依赖 Microsoft Office 和 Acrobat 组件的情况下,提供快速生成、加载、编辑和保存 Excel、PDF、Word文档的功能。
GrapeCity Documents 由四种针对不同文档和开发框架的组件构成:
· 适用于所有 .NET 平台的 Excel 文档 API —— GcExcel(.NET)
· 适用于所有 Java 平台的 Excel 文档 API —— GcExcel(Java)
· 适用于所有 .NET 平台的 PDF 文档 API —— GcPDF
· 适用于所有 .NET 平台的 Word 文档 API —— GcWord
JAVA POI
下面是使用poi生成excel,读取可以参照生成的代码 public HSSFWorkbook importExcel(ListAssigneeItem list) { try { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet s = wb.createSheet(); // 设置Sheet名 wb.setSheetName(0, "assignee_item"); for (short i = 0; i list.size() + 1; i++) { // 创建行 HSSFRow row = s.createRow(i); if (i == 0) { // 设置列标题 String[] fieldName = { "管理事项ID", "管理人类型", "管理人营业机构", "产品", "投资组合", "事项起始日期", "事项内容及处理情况", "状态", "委托事项名称" }; for (short j = 0; j 9; j++) { // 创建单元格 HSSFCell cell = row.createCell(j); // 设置单元格采用的字符集,避免中文乱码 cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 为单元格赋值 cell.setCellValue(fieldName[j]); } } else { // 设置列内容 AssigneeItem ai = list.get(i - 1); String[] fieldValue = { ai.getItemManageId() + "", ai.getRoleType(), ai.getManagerBusiOrg(), ai.getProduct(), ai.getFund(), ai.getBeginDate(), ai.getItemContent(), ai.getStatus(), ai.getAssigneeItemName() }; for (short j = 0; j 9; j++) { // 创建单元格 HSSFCell cell = row.createCell(j); // 设置单元格采用的字符集,避免中文乱码 cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 为单元格赋值 cell.setCellValue(fieldValue[j]); } } } return wb; } catch (Exception e) { e.printStackTrace(); } return null; }
java poi的使用问题
需要引入的包
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;
import org.apache.poi.ss.usermodel.CellStyle;
关于javapoi介绍和java的po的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。