Java实现Excel的导入导出

一、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();
    }

你可能感兴趣的:(Java实现Excel的导入导出)