一、Excel解析的几种实现方法(读写Excel三种常用技术)
1、POI (重点★)
①、Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
②、基本功能 :
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
HSSF类,只支持2007以前的excel(文件扩展名为xls),而XSSH支持07以后的(xlsx)
2、JXL
Java Excel是一个开放的源码项目,可以读取Excel文件的内容,创建新的Excel文件、更新已经存在的Excel文件。
3、FASTEXCEL
①、FASTEXCEL是一个采用纯Java开发的excel文件读写组件,支持Excel 97-2003文件格式;
②、FASTEXCEL只能读取单元格的字符信息,而其它属性如颜色,字体等就不支持了,因此FASTEXCEL只需很小的内存。
4、POI 与 JXL的对比 :
①、POI效率高,JXL效率低
②、POI操作相对复杂,JXL操作简单
③、POI支持公式、宏、图像图表,一些企业应用上会非常实用,JXL部分支持
④、POI和JXL都能够修饰单元格属性,但是JXL格式支持没有POI强大
⑤、POI和JXL都支持字体,数字,日期操作
二、生成PDF文件
1、通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件;
2、下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。
public static void main(String[] args) throws IOException {
String[] titles = {"id", "name", "sex"};
/**
* 1、创建Excel工作簿
*/
HSSFWorkbook workbook = new HSSFWorkbook();
/**
* 2、创建一个工作表Sheet
*/
HSSFSheet sheet = workbook.createSheet();
/**
* 3、创建第一行
*/
HSSFRow row = sheet.createRow(0);
/**
* 4、创建第一行的单元格数据
*/
HSSFCell cell = null;
for (int i = 0; i < titles.length; i++) {
cell = row.createCell(i);
cell.setCellValue(titles[i]);
}
for (int i = 1; i < 10; i++) {
//从第一行开始创建行
HSSFRow row1 = sheet.createRow(i);
//创建第i行的第1个单元
HSSFCell cell1 = row1.createCell(0);
//给第i行的第1个单元格赋值
cell1.setCellValue("a" + i);
//创建第i行的第2个单元
cell1 = row1.createCell(1);
//给第i行的第2个单元格赋值
cell1.setCellValue("user" + i);
//创建第i行的第3个单元
cell1 = row1.createCell(2);
//给第i行的第3个单元格赋值
cell1.setCellValue("男");
}
File file = new File("D:/test11.xls");
FileOutputStream outputStream = new FileOutputStream(file);
// workbook.write(file);
workbook.write(outputStream);
outputStream.close();
}
网友评论