Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本。
在处理PPT,Excel和Word前,需要导入以前几个jar包:
dom4j-1.7-20060614.jar
log4j-1.2.13.jar
poi-3.7-20101029.jar
poi-ooxml-3.7-20101029.jar
poi-ooxml-schemas-3.7-20101029.jar

本文主要简介下java poi处理Excel,

2003版本的.xls一张sheet表允许存2^16 = 次方行数据,2^8 = 256列数据,
2007版本以上的.xlsx一张sheet表允许存的数据就更大了,是百万级别的。行: 2^20 = 1048576; 列:2^14 = 16384 行。
以下代码简单操作了excel文件。 
 1 package com.caoyuanzhanlang.excelhandle;
 2
 3 import java.io.File;
 4 import java.io.FileOutputStream;
 5
 6 import org.apache.poi.hssf.util.HSSFColor;
 7 import org.apache.poi.ss.usermodel.Cell;
 8 import org.apache.poi.ss.usermodel.CellStyle;
 9 import org.apache.poi.ss.usermodel.Font;
10 import org.apache.poi.ss.usermodel.Row;
11 import org.apache.poi.ss.usermodel.Sheet;
12 import org.apache.poi.ss.usermodel.Workbook;
13 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
14
15 public class NewExcel {
16
17     private String excelPath = "data.xlsx";
18
19     public static void main(String[] args) throws Exception{
20         NewExcel excel = new NewExcel();
21         if(excel.createExcelFile()) {
22             System.out.println("data.xlsx is created successfully.");
23         }
24     }
25     public boolean createExcelFile() {
26         boolean isCreateSuccess = false;
27         Workbook workbook = null;
28         try {
29             // XSSFWork used for .xslx (>= 2007), HSSWorkbook for 03 .xsl
30             workbook = new XSSFWorkbook();//HSSFWorkbook();//WorkbookFactory.create(inputStream);
31         }catch(Exception e) {
32             System.out.println("It cause Error on CREATING excel workbook: ");
33             e.printStackTrace();
34         }
35         if(workbook != null) {
36             Sheet sheet = workbook.createSheet("testdata");
37             Row row0 = sheet.createRow(0);
38             for(int i = 0; i < 11; i++) {
39                 Cell cell_1 = row0.createCell(i, Cell.CELL_TYPE_STRING);
40                 CellStyle style = getStyle(workbook);
41                 cell_1.setCellStyle(style);
42                 cell_1.setCellValue("HELLO" + i + "Column");
43                 sheet.autoSizeColumn(i);
44             }
45             for (int rowNum = 1; rowNum < 200; rowNum++) {
46                 Row row = sheet.createRow(rowNum);
47                 for(int i = 0; i < 11; i++) {
48                     Cell cell = row.createCell(i, Cell.CELL_TYPE_STRING);
49                     cell.setCellValue("cell" + String.valueOf(rowNum+1) + String.valueOf(i+1));
50                 }
51             }
52             try {
53                 FileOutputStream outputStream = new FileOutputStream(excelPath);
54                 workbook.write(outputStream);
55                 outputStream.flush();
56                 outputStream.close();
57                 isCreateSuccess = true;
58             } catch (Exception e) {
59                 System.out.println("It cause Error on WRITTING excel workbook: ");
60                 e.printStackTrace();
61             }
62         }
63         File sss = new File(excelPath);
64         System.out.println(sss.getAbsolutePath());
65         return isCreateSuccess;
66     }
67     private CellStyle getStyle(Workbook workbook){
68         CellStyle style = workbook.createCellStyle();
69         style.setAlignment(CellStyle.ALIGN_CENTER);
70         style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
71         // 设置单元格字体
72         Font headerFont = workbook.createFont(); // 字体
73         headerFont.setFontHeightInPoints((short)14);
74         headerFont.setColor(HSSFColor.RED.index);
75         headerFont.setFontName("宋体");
76         style.setFont(headerFont);
77         style.setWrapText(true);
78
79         // 设置单元格边框及颜色
80         style.setBorderBottom((short)1);
81         style.setBorderLeft((short)1);
82         style.setBorderRight((short)1);
83         style.setBorderTop((short)1);
84         style.setWrapText(true);
85         return style;
86     }
87     public String getExcelPath() {
88         return this.excelPath;
89     }
90
91     public void setExcelPath(String excelPath) {
92         this.excelPath = excelPath;
93     }
94 }

java POI创建Excel示例(xslx和xsl区别 )相关推荐

  1. java poi 读取excel 编码_Java使用POI 读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...

  2. Java - Poi 操作 Excel

    Java - Poi 操作 Excel 关注 "弋凡"(YiFan)微信公众号吧 记录简单笔记 做你的最爱 注意 XSSFWorkbook 对象是操作 .xlsx 格式的表格 HS ...

  3. JAVA实现创建Excel表并导出(转发)

    JAVA实现创建Excel表并导出(转发) 最近在做毕设,要求导出word,excel,pdf,这是excel. 原文是:http://blog.csdn.net/u014621859/article ...

  4. 利用java poi对excel表的读写操作

    2019独角兽企业重金招聘Python工程师标准>>> 利用java poi对excel表的读写操作 POI简介: Apache POI是一种流行的API,它允许程序员使用Java程 ...

  5. poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel

    java poi 写入Excel后读取公式值问题 不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问 ...

  6. Java poi操作Excel单元格样式

    Java poi设置Excel单元格格式设置 XSSFWorkbook xwb = new XSSFWorkbook();或者 XSSFWorkbook xwb = new XSSFWorkbook( ...

  7. java邮件中添加excel_使用java api 创建excel内容并发送邮件

    https://github.com/auguszero/javaToolRepsitory 利用java api 创建excel 内容并发送邮件 主要实现功能: 1.通过配置文件设置发送邮件发送方, ...

  8. java poi 导出excel不能超过65536行

    java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...

  9. Java POI 对Excel合并单元格的数据处理

    Java POI 对Excel合并单元格的数据处理 最近在项目开发过程中,有个一个导入Excel文件处理合并单元格数据的需求,就自己在网上找了一个模板,自己进行二次开发来开发需求. Excel工具类 ...

最新文章

  1. 应用程序性能分析利器 —— Visual Studio Profiler
  2. 宣布降低Windows Azure Storage的定价
  3. (转)Hibernate关联映射——一对多(多对一)
  4. 手机忽然就安装不了东西,就是下载好apk打开后按不了安装。怎么处理?
  5. VMware Vsphere 6.0安装部署 总体部署架构
  6. php源码 辅助发卡_【程序源码】PHP自动化售货发卡网源码
  7. Matlab机器学习和深度学习APP之Regression Learner
  8. Zeppelin0.8.1上操作hive(使用jdbc解释器)
  9. 内网集群 无法通信_IPSEC连接成功,内网之间却无法互相通信。
  10. 二维码与图像结合生成器之QArt(关于Russ Cox )
  11. 第二章开发环境搭建——第2节-高德开放平台
  12. 一个流氓眼中的物联网
  13. [转]Todd.log - a place to keep my thoughts on programming 分布式架构中的幂等性
  14. 网络知识:水晶头网线和网线插座接法制作过程介绍
  15. PS效果——斜面浮雕
  16. 三立期货:掌财社重大事项停牌是利好吗?一般停多久?
  17. tex模版wins版本在mac中字体不对应问题解决方案
  18. Cisco Packet Tracer(对cisco模拟器的初识+路由基本配置)
  19. 20144306《网络对抗》MAL_恶意代码分析
  20. 在线制作简易业务流程图

热门文章

  1. Linux Make(Makefile)由浅入深的学习与示例剖析
  2. Android开发日志打卡APP(二)
  3. 嵌入式工作会越来越少吗?
  4. 丧尸,只要摧毁头部便会永久停止行动
  5. 这一篇和大家聊聊Hadoop
  6. 人工智能之Python人脸对比、人脸检测
  7. 遇人不淑之逗比程序员
  8. 苹果iOS/iPadOS 15.2 Beta 1发布 app隐私报告?
  9. PageHelper.startPage与PageHelper.offsetPage区别
  10. python+selenium自动化能打开火狐浏览器但是打不开网址