java操作Excel最常用的开源组件有poi与jxl。jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007。poi是apache下的一个子项目,poi应该是处理ms的office系列文档最好的组件了。

poi的jar包下载地址:

http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.10-FINAL-20140208.zip

  1 /**
  2      * @ excel
  3      */
  4     public static void excelDemo() {
  5         // 创建一个工作薄,返回这个工作薄的引用
  6         HSSFWorkbook workbook = new HSSFWorkbook();
  7         // 新建一个工作表,返回这个表的引用
  8         HSSFSheet sheet = workbook.createSheet("sheetOne");
  9         // 创建一行,作为head。下标从0开始,返回行的引用
 10         HSSFRow row = sheet.createRow(0);
 11         // 创建单元格样式对象
 12         HSSFCellStyle headStyle = workbook.createCellStyle();
 13         // 水平方向居中
 14         headStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
 15         // 垂直方向居中
 16         headStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
 17         // 创建字体属性
 18         HSSFFont font1 = workbook.createFont();
 19         // 字体颜色
 20         font1.setColor(HSSFFont.COLOR_RED);
 21         // 粗体
 22         font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
 23         // 字体大小
 24         font1.setFontHeightInPoints((short) 14);
 25         // 将字体对象放到样式对象中
 26         headStyle.setFont(font1);
 27         // 单元格对象
 28         HSSFCell  cell;
 29         // 在该行创建6个单元格
 30         for (int i = 0; i < 5; i++) {
 31             cell = row.createCell(i);
 32             // 设定单元格为字符类型
 33             cell.setCellType(HSSFCell.CELL_TYPE_STRING);
 34             // 设定单元格样式 
 35             cell.setCellStyle(headStyle);
 36             // 设定单元格内容
 37             cell.setCellValue("<head>"+i);
 38         }
 39         
 40         // body的样式
 41         HSSFCellStyle bodyStyle = workbook.createCellStyle();
 42         // 横向中间对齐
 43         bodyStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
 44         // 纵向中间对齐
 45         bodyStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
 46         // body的字体属性设定
 47         HSSFFont font2 = workbook.createFont();
 48         // 加粗
 49         font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
 50         // 字体颜色
 51         font2.setColor(IndexedColors.BLUE.getIndex());
 52         bodyStyle.setFont(font2);
 53         
 54         // 创建3行,作为body
 55         for (int i = 1; i < 4; i++) {
 56             row = sheet.createRow(i);
 57             for (int j = 0; j < 6; j++) {
 58                 cell = row.createCell(j);
 59                 cell.setCellStyle(bodyStyle);
 60                 cell.setCellType(HSSFCell.CELL_TYPE_STRING);
 61                 cell.setCellValue("<body>");
 62             }
 63         }
 64         
 65         // 合并单元格
 66         // 首先把单元格创建出来
 67         for (int i = 4; i < 7; i++) {
 68             row = sheet.createRow(i);
 69             for (int j = 0; j < 6; j++) {
 70                 cell = row.createCell(j);
 71                 // 设定单元格为字符类型
 72                 cell.setCellType(HSSFCell.CELL_TYPE_STRING);
 73             }
 74         }
 75         
 76         // 合并第5行的0到6列
 77         sheet.addMergedRegion(new CellRangeAddress(4, 4, 0, 5));
 78         // 合并第6行到第7行的1到3列
 79         sheet.addMergedRegion(new CellRangeAddress(5, 6, 0, 2));
 80         // 合并第6行到第7行的3到6列
 81         sheet.addMergedRegion(new CellRangeAddress(5, 6, 3, 5));
 82         
 83         // 获取第6行第1列的单元格
 84         row = sheet.getRow(5);
 85         cell = row.getCell(0);
 86         // 字体属性的设定
 87         HSSFFont hebingFont = workbook.createFont();
 88         // 字体颜色
 89         hebingFont.setColor(IndexedColors.BRIGHT_GREEN.getIndex());
 90         // 单元格样式设定
 91         HSSFCellStyle hebingStyle1 = workbook.createCellStyle();
 92         // 横向中间对齐
 93         hebingStyle1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
 94         // 纵向中间对齐
 95         hebingStyle1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
 96         // 设定前景色
 97         hebingStyle1.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
 98         hebingStyle1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
 99         // 设定字体
100         hebingStyle1.setFont(hebingFont);
101         // 设定单元格样式
102         cell.setCellStyle(hebingStyle1);
103         // 设定单元格内容
104         cell.setCellValue("合并单元格");
105         
106         cell = row.getCell(3);
107         HSSFCellStyle hebingStyle2 = workbook.createCellStyle();
108         hebingStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
109         hebingStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
110         hebingStyle2.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
111         hebingStyle2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
112         hebingStyle2.setFont(hebingFont);
113         cell.setCellStyle(hebingStyle2);
114         hebingStyle2.setBorderLeft((short)2);
115         cell.setCellStyle(hebingStyle2);
116         cell.setCellValue("合并单元格2");
117         
118         row = sheet.getRow(6);
119         cell = row.getCell(3);
120         cell.setCellStyle(hebingStyle2);
121         
122         // 设定内容输出
123         try {
124             FileOutputStream out = new FileOutputStream(new File("d:\\workbook.xls"));
125             workbook.write(out);
126             out.flush();
127             out.close();
128 
129         } catch (IOException e) {
130             e.printStackTrace();
131         }
132         
133 
134     }

生成excel文件的更多相关文章

  1. 如何生成excel文件作为图像识别结果

    如何生成excel文件作为图像识别结果 在进行大规模图像处理的时候,如果能够以表格的形式生成结果文件,将非常的直观.这个时候,选择excel作为结果输出文件,将是合适的. 查询相关资料,有很多关于ex ...

  2. php生成excel文件的简单方法

    生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了. 生成excel 当然使用的是 phpExcel http://www.jbxue.com/tags/phpexcel.html ...

  3. XLSTransformer生成excel文件简单演示样例

    项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...

  4. XLSTransformer生成excel文件

    jxls的使用方法: 1)声明一个XLSTransformer对象,生成方式就是使用new操作符                 XLSTransformer transformer = new XL ...

  5. thinkphp整合系列之phpexcel生成生成excel文件

    在后台管理中会经常需要将数据生成excel表格的: php生成excel有两种方案: 一种是通过phpexcel生成xls格式的表格文件: 另一种则直接通过逗号换行生成csv格式的表格文件: 这里先讲 ...

  6. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  7. springMVC(4)---生成excel文件并导出

    springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...

  8. 2018年,请不要再使用OLE生成EXCEL文件

    输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中. 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对 ...

  9. POI生成EXCEL文件

    POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...

  10. python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

随机推荐

  1. c#实现文件拖放

    1. 选择form窗口,在事件分别双击双击DragDrop和DragEnter private void Form1_DragDrop(object sender, DragEventArgs e) ...

  2. dp优化

    入口 A(fzu 1894) 普通的单调队列,trick是进队判断的符号选取(>=wa , >ac). B(poj 2823) 没什么好说的 ,坑爹poj g++,tle ;c++,ac. ...

  3. Objective-C中NSString和NSMutableString的基本用法

    int main(int argc, const char * argv[]) { @autoreleasepool { //----------------NSString------------- ...

  4. Uiviewcontroller 控制器的生命周期

    这是一个ViewController完整的声明周期,其实里面还有好多地方需要我们注意一下: 1:initialize函数并不会每次创建对象都调用,只有在这个类第一次创建对象时才会调用,做一些类的准备工 ...

  5. xib和Storyboard 创建Cell的方式

    xib 方式 .在Cell.h文件中加一个宏 #define cellIdentifier @"customCell" . ViewController中: - (void)vie ...

  6. 移动支付之智能IC卡与Android手机进行NFC通信

    本文来自http://blog.csdn.net/hellogv/ .引用必须注明出处.        眼下常见的智能IC卡执行着JavaCard虚拟机.智能IC卡上能够执行由精简后的Java语言编写 ...

  7. jstl数字保留两位小数

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><fmt:fo ...

  8. Tomcat 常见问题篇

    Tomcat 常见问题一.Tomcat常见问题 1.Tomcat web容器出现故障时,我们通过Tomcat自带的logs查看原因,以下错误提示都是源于logs 2.Connection refuse ...

  9. C++菱形继承的构造函数

    网上搜了很多,大多是关于菱形虚继承的构造函数应该怎么写,或者就是最简单的,四个类都不带参数的构造函数. 本文旨在记录一下困扰了博主1h的问题,非常浅显,有帮助固然好,如果侮辱谁的智商还见谅,当然无限欢 ...

  10. Github错误:Failed to publish this branch

    转自:http://jingpin.jikexueyuan.com/article/34632.html 今天弄github的时候,客户端一直出现error to publish this branc ...