HSSF实现Excel导出

HSSF导出Exl

创建Exl文件、sheet页、行(row)、单元格(cell)

HSSFWorkBook workBook=new HSSFWorkBook();
HSSFSheet sheet=workBook.createSheet();
HSSFRow row0=sheet.createRow(0);
HSSFCell cell=row0.createCell();

给单元格设置内容

cell.setCellValue(‘这是导出的第一行‘);

给单元格设置样式
HSSFCellStyle cellStyle= workBook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置水平居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //设置垂直居中
cellStyle.setFillForegroundColor((short) HSSFColor.BLUE.Index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //设置单元格的颜色
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//设置单元格的边框,其他的是top,left,right
cell.setCellStyle(style);

关于HSSFColor的颜色,必须是short类型,因此数据最多不超过64,实际上,这个值介于8-64之间才会生效;
那么,如果HSSFColor给出的颜色都不符合需求,那么就需要自定义颜色了,这里用到HSSFPalette对象

HSSFPalette palette=workBook.createCustomPallete();
palette.setColorAtIndex((short)8,(byte)222,(byte)222,(byte)222);
//第一个参数就是setFillForeGroundColor(short index)中的index,后面的三个分别是三原色 r,g,b

这样设置之后,原先8对应的颜色就会被我们定义的颜色覆盖

设置行高和字体

row.setHightInPoint((short)22); //设置行高

HSSFFont font=workBook.creatFont();
font.setFontHeightInPoint((short)16);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
cellStyle.setFont(font);

注意:
HSSFCellStyle的设置值最好只设置一遍,不然会不起效果,也就是说如果有其他的样式,最好用HSSFWorkBook再实例一个style

设置冻结单元格

sheet.createFreezePane(int col,int row)

看完以上,基本上一个excel的基本功能就能实现了,创建怎样的行,怎么的单元格就看你的需要了,下面来说说导出

导出可以使用文件输出流FileOutputStream
try{
OutputStream outStream=new FileOutputStream(String outPath);
workBook.write(outStream);
outStream.flush();
outStream.close();
}catch(IOException e){
e.printStack();
}

知道了以上内容,基本上就可以满足一个Exl导出需求的实现了!!!!

时间: 2024-10-14 01:01:28

HSSF实现Excel导出的相关文章

displaytag的Excel导出实践

本文转自 http://lingceng.iteye.com/blog/1820081/ Displaytag官网有1.0, 1.1, 1.2等,注意找到对应的版本.源码和API可以在Maven库中找到.   常规的使用不是问题,这里说说关于Excel导出的问题,中文乱码,使用POI等.我使用的是Displaytag1.1. 基本导出功能   这种情况只需引入displaytag-1.1.jar.   设置column属性media="html"将不会导出,media="ex

java excel导出

1.  Excel导出的核心方法在ExportExcel类中,使用时请将该类完整的引入. 1 import java.io.IOException; 2 import java.io.OutputStream; 3 import java.lang.reflect.Field; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 import java.text.Si

JAVA------18.excel导出

后台导出excel 1.导入jar包 链接:http://pan.baidu.com/s/1c2L70lE 密码:nvhh 2.获取绝对路径 2.源码: package com.action; import java.io.File; import java.io.FileOutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet

在做excel导出时如何将excel直接写在输出流中

之前做excel导出时,我都是先将文件写在服务器上,然后再下载下来,后来发现原来可以直接将文件写在输出流里边. 下面是一个小demo: package com.huaqin.fcstrp.util; import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import javax.servlet

用SpringMvc实现Excel导出功能

以前只知道用poi导出Excel,最近用了SpringMvc的Excel导出功能,结合jxl和poi实现,的确比只用Poi好,两种实现方式如下: 一.结合jxl实现: 1.引入jxl的所需jar包: <dependency org="net.sourceforge.jexcelapi" name="jxl" rev="2.6.3" conf="compile->compile(*),master(*);runtime->

ExtJS实现Excel导出

1. 使用POI组件实现excel导出功能 //获取问题列表 List<Suggestion> targetStockList = suggestionService.getSuggestionList(map);           //创建一个新的Excel         HSSFWorkbook workBook = new HSSFWorkbook();         //创建sheet页         HSSFSheet sheet = workBook.createSheet

二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:本章介绍除DotNetBar2控件套件之外的另外一些常用控件,包括Grid++Report报表.条形码.Excel导出.图表控件ZedGraph:类似这些控件网上免费开源的太少了,经过一番对比和使用感受最后决定把这几个控件整合到EFW框架中供大家选择使用: 本

利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序 HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据,难免会含有方便操作的 主键ID这列的记录.现在项目需要在easyUI的DataGrid中显示的数据能全部导出Excel,包括DataGrid中的中文标题,其他的统统不 要. 完成该功能所需的工具和环境:Newtonsoft.Json序列化和反序列化类库.easyUI前端UI框架.HttpHandl

excel导出功能优化

先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中. 3. 将这个VO类的数据集写入到EXCEL中. 缺点: 1.每次做一个功能的excel导出需要定义一个vo类,并且vo类不可随便变更. 2. 从数据库查询到结果集不能直接输出到excel,需要二次遍历写入到vo中. 3. excel导出的顺序必须与vo定义的字段顺序一致,并且输出vo中所有的字段