一个简单的类用于JAVA输出EXCEL文…

原创 2016年05月31日 14:20:42
1.参数传入及如何调用:
List data= //这里的list即为你的数据,我这里就没给初始化了,你根据你的需求取数据。
ServletUtils.currentResponse().setHeader("Content-disposition","attachment;filename="+ URLEncoder.encode("舆情报告.xls", "UTF-8"));//设置EXCEL文件名称。
String[] title={"关键词","微博id","发布日期","个人ID","微博内容","评论数","转发数","舆情性质","处理日期","微博链接"};//EXCEL文件包含的列命
String[] keys={"keyword","contentId","time","name","text","comments","reposts","surveyResult","surveyTime","url"};  //EXCEL文件包含的列命在数据源data中所对应的字段命
ExcelUtil.outputExcel(ServletUtils.currentResponse().getOutputStream(),title, list, keys, "surveyResult");//调用输出方法

2.这是输出文件具体方法
public class ExcelUtil {
public static void outputExcel(OutputStream out,String[] title,List<Map<String, Object>> data, String[] keys,String split) throws IOException, RowsExceededException, WriteException{
WritableWorkbook workbook=Workbook.createWorkbook(out);
//单元格样式
WritableFont wfc = new WritableFont(WritableFont.ARIAL,14
,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.YELLOW);
WritableCellFormat wcff = new WritableCellFormat(wfc);
wcff.setWrap(false);//不自动换行
wcff.setBackground(Colour.GREEN);
try {

if(split==null){
WritableSheet st1=workbook.createSheet("sheet1", 0);
for(int i=0;i<title.length;i++){
Label l=new Label(i,0,title[i],wcff);
if(i==3){//这里i=3时是微博内容 要长些
st1.setColumnView(i, 30);
}else{
st1.setColumnView(i, 18);
}
st1.addCell(l);
}
for(int j=1;j<data.size();j++){
Map<String,Object> m=data.get(j);
for(int i=0;i<keys.length;i++){
Label l=new Label(i,j,m.get(keys[i])!=null?m.get(keys[i]).toString():"");
st1.addCell(l);
}
}
}else{
String cur=(String) data.get(0).get(split);
WritableSheet curSheet=null;
for(int j=0,k=1;j<data.size();j++,k++){
Map<String,Object> m=data.get(j);
if(m.get(split)!=null&&!((String)m.get(split)).equals(cur)||j==0){
cur=(String)m.get(split);//根据split字段名创建sheet,这里需要注意的是,要按哪个字段创建sheet,传入的数据就必须按那个字段排序,这里暂时是这样处理的,大家可以优化下。
curSheet=workbook.createSheet(cur!=null?cur:"无", 0);
for(int i=0;i<title.length;i++){
Label l=new Label(i,0,title[i],wcff);
if(i==3){
curSheet.setColumnView(i, 30);
}else{
curSheet.setColumnView(i, 18);
}
curSheet.addCell(l);
}
k=1;
}
for(int i=0;i<keys.length;i++){
Object o=m.get(keys[i]);
if(o instanceof Integer||o instanceof Long){
jxl.write.Number n=new jxl.write.Number(i,k,(Integer)o);
curSheet.addCell(n);
}else{
Label l=new Label(i,k,o!=null?o+"":"");
curSheet.addCell(l);
}
}
}
}
workbook.write();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void outputExcel(OutputStream out,String[] title,List<Map<String, Object>> data, String[] keys) throws IOException, RowsExceededException, WriteException{
outputExcel(out, title,data, keys);
}
}


一个简单java类

/* 一个简单java类,包含私有的属性,无参数的构造函数和其他有需要的重载构造函数, 公有的setter和getter,类定义中不调用输出函数 */ class Student{ private ...
  • mo1302267724
  • mo1302267724
  • 2017年09月19日 10:29
  • 245

笔记9:java_写一个简单的java类

要求:开发一个雇员的类,里面包含有雇员编号,姓名,职位,基本工资,佣金。这种功能的类在开发之中称为简单java类,因为这些类里卖弄不会包含归于复杂的程序逻辑。 对于简单的java类而言,可以给出它的...
  • HTdeyanlei
  • HTdeyanlei
  • 2016年10月06日 10:03
  • 2416

JAVA处理Excel文件---生成简单的Excel文件

在现实的办公中,我们常常会有这样一个要求:要求把报表直接用excel打开。在实习中有这样一个需求。根据所选择的资源查询用户所提供附件的全部信息并生成excel供下载。但是在查询的时候我们需要来检测用户...
  • u013310119
  • u013310119
  • 2016年04月14日 22:01
  • 4929

简单JAVA类

所有简单JAVA类的开发要求如下: 1.根据已有的要求定义类的名称——Person; 2.根据给出的提示编写相应的熟悉,但是所有的属性必须都使用private关键字进行封装; 3.封装之后的属性...
  • kepler08
  • kepler08
  • 2016年12月16日 09:10
  • 1274

一个封装的实用的EXCEL类

/------------------------------------------------------------------------EXCELFILE.H----------------...
  • gyssoft
  • gyssoft
  • 2007年04月29日 18:21
  • 14917

C# 导出 Excel 封装类 代码

using System; using System.Collections.Generic; using System.Linq; using System.Text;...
  • loglf
  • loglf
  • 2016年08月12日 00:11
  • 456

java造轮子之自己写简单的HTTP服务器

大概介绍一下原理吧,浏览器打开网页可以简单分为3个阶段: 1.通过socket向服务器发送一个符合一定格式的请求字符串(里面包含了用户输入的网址),比如: Acce...
  • A1023824314
  • A1023824314
  • 2016年07月20日 23:38
  • 1484

C++定义一个简单类

//定义一个person类 class person{ public:// 共有的     char name[100];     int sex;    ...
  • wwc455634698
  • wwc455634698
  • 2017年04月16日 15:52
  • 147

JAVA导出EXCEL实现

JAVA导出EXCEL实现
  • yjclsx
  • yjclsx
  • 2016年05月09日 11:58
  • 9001

最简单的Java操作Excel方法

最简单的Java操作Excel方法目前用Java操作Excel文件,有好几种方法:1.用Excel另存为.html、.xml等存储格式,使用自己的程序来分析,用MIME值application/vnd...
  • zzcv_
  • zzcv_
  • 2007年12月25日 15:45
  • 2163
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个简单的类用于JAVA输出EXCEL文…
举报原因:
原因补充:

(最多只允许输入30个字)