码迷,mamicode.com
首页 > 其他好文 > 详细

POI操作Excel

时间:2014-12-24 01:14:33      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

POI导出Excel2007比导出Excel2003要慢.
当时项目中用的JAR包:
  Excel2003:poi-2.5.1.jar
  Excel2007:
    poi-3.7-20101029.jar
    poi-ooxml-3.7-20101029.jar
    poi-ooxml-schemas-3.7-20101029.jar
    xmlbeans-2.3.0.jar
    dom4j-1.6.1.jar

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
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.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class PoiExcel {

    // POI导出Excel2003
    public static void exportExcel2003() {
        try {
            // 创建Excel文件
            FileOutputStream fileOut = new FileOutputStream(
                    "C:\\Users\\Yangyuan\\Desktop\\table.xls");
            // 创建工作薄
            HSSFWorkbook workbook = new HSSFWorkbook();
            // 创建工作表
            HSSFSheet sheet = workbook.createSheet();
            // 设置工作表名称,参数1为工作表下标,参数2为工作表名称,参数3为编码
            workbook.setSheetName(0, "第一页", HSSFWorkbook.ENCODING_UTF_16);
            // 创建行
            HSSFRow row = null;
            // 循环创建单元格
            for (int i = 0; i < 65536; i++) {
                row = sheet.createRow(i);
                for (int j = 0; j < 5; j++) {
                    row.createCell((short) j).setCellValue(
                            "Test_" + (j + 1) + "_" + (i + 1));
                }
            }
            // 写入数据并关闭流
            workbook.write(fileOut);
            fileOut.flush();
            fileOut.close();
            System.out.println("导出Excel2003完成");
        } catch (FileNotFoundException e) {
            System.out.println(e);
        } catch (IOException e) {
            System.out.println(e);
        }
    }

    // POI导出Excel2007
    public static void exportExcel2007() {
        try {
            // 创建Excel文件
            FileOutputStream fileOut = new FileOutputStream(
                    "C:\\Users\\Yangyuan\\Desktop\\table.xlsx");
            // 创建工作薄
            XSSFWorkbook workbook = new XSSFWorkbook();
            // 创建工作表
            XSSFSheet sheet = workbook.createSheet("第一页");
            // 创建行
            XSSFRow row = null;
            // 循环创建单元格
            for (int i = 0; i < 75537; i++) {
                row = sheet.createRow(i);
                for (int j = 0; j < 5; j++) {
                    row.createCell(j).setCellValue(
                            "Test_" + (j + 1) + "_" + (i + 1));
                }
            }
            // 写入数据并关闭流
            workbook.write(fileOut);
            fileOut.close();
            fileOut.close();
            System.out.println("导出Excel2007完成");
        } catch (FileNotFoundException e) {
            System.out.println(e);
        } catch (IOException e) {
            System.out.println(e);
        }
    }

    public static void main(String[] args) {
        exportExcel2003();
        exportExcel2007();
    }

}

 

POI操作Excel

标签:

原文地址:http://www.cnblogs.com/heheyy/p/4181425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!