导出Execel
//请求入口
@SuppressWarnings("serial")
@ParentPackage("default") //action请求
@Results( { @Result(name = BaseActionSupport.RELOAD, value = "workcalendarbb.action", type = ServletActionRedirectResult.class),
@Result(name = WorkCalendarBbAction.ARCHIVE_SORT_EXCEL, value = "stream", type = StreamResult.class, params = {
"contentType", "application/vnd.ms-excel", "inputName", "stream",
"contentDisposition", "attachment;filename=\"archiveFolder.xls\"",
"bufferSize", "1024" }) }) //导出需要
//实体类 ToaWorkCalendarBb
public class WorkCalendarBbAction extends BaseActionSupport<ToaWorkCalendarBb>{
//导出execel
private InputStream stream;
public static final String ARCHIVE_SORT_EXCEL = "archiveSortExcel";
/实体类
private ToaWorkCalendarBb model = new ToaWorkCalendarBb();
/**
* 导出execel表格
* @return
*/
public String importExcel(){
try {
ToaWorkCalendarBb model=new ToaWorkCalendarBb();
SimpleDateFormat st = new SimpleDateFormat(
"yyyy");
if(models.getCaltype1Id()!=null&&!"null".equals(models.getCaltype1Id())){
if(!"null".equals(models.getCaltype1Id())){
model.setCaltype1Id(models.getCaltype1Id());
}
}
//开始时间
if(models.getCalStartTime()!=null&&!"".equals(models.getCalStartTime())){
model.setCalStartTime(models.getCalStartTime());
}
//结束时间
if(models.getCalEndTime()!=null&&!"".equals(models.getCalEndTime())){
model.setCalEndTime(models.getCalEndTime());
}
// 导出Excel数据流.
stream = manager.searchExcel(model);
} catch (Exception e) {
e.printStackTrace();
}
return ARCHIVE_SORT_EXCEL;
}
}
具体方法
/***
* 导出execel表格
* @param model
* @return
* @throws DAOException
* @throws ParseException
*/
public InputStream searchExcel(ToaWorkCalendarBb model)throws DAOException, ParseException{
//拼写表头
HSSFWorkbook wb = new HSSFWorkbook();
HSSFRow row;
HSSFCell cell;
HSSFSheet sheet = wb.createSheet("sheet1");
row = sheet.createRow(0);
cell = row.createCell((short) 0);
int m=0;
//row = sheet.createRow(0);
HSSFCellStyle cellStyle= wb.createCellStyle();
HSSFFont font = wb.createFont();
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
/** 列名
* 横向
* **/
cell.setCellValue("填报人");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
cell = row.createCell((short) m++);
sheet.setColumnWidth((short)m,(short)5000);
cell.setCellValue("填报处室");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("日志分类");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("日志条数");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("总时长");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("其中加班时间");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("其中出差时间");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
sheet.setColumnWidth((short)m,(short)5000);
cell = row.createCell((short) m++);
cell.setCellValue("活动地点");
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
/** 表头拼写完成
* 查询数据
* for循环放进去
* **/
//获取数据,不是拼写的数据,只是从数据库差所有
List<ToaWorkCalendarBb> list = search(model);//获取满足条件的ToaArchiveFolder对象
/**
* 遍历listtt
* 放进execel表格
*/
for (int i = 0; i < list.size()+0; ++i)
{
ToaWorkCalendarBb folder = list.get(i);
SimpleDateFormat st = new SimpleDateFormat(
"yyyy");
row = sheet.createRow(i + 1);
int j=0;
/**
* 字段对应的位置
* 横向 放值
*/
//填报人
cell = row.createCell((short) j++);
cell.setCellValue(folder.getCalUserName());
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//填报处室
cell = row.createCell((short) j++);
cell.setCellValue(folder.getOrgName());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//日志分类
cell = row.createCell((short) j++);
// cell.setCellValue(st.format(folder.getBsstripEndTime()));
cell.setCellValue(folder.getCaltype1Idname());
cellStyle= wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平对齐
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//日志条数
cell = row.createCell((short) j++);
cell.setCellValue(folder.getJournalTotal());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//总时长
cell = row.createCell((short) j++);
cell.setCellValue(folder.getTimeTotal());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//其中加班时长
cell = row.createCell((short) j++);
cell.setCellValue(folder.getOverTime());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//其中出差时长
cell = row.createCell((short) j++);
cell.setCellValue(folder.getTravelTime());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
//活动地点
cell = row.createCell((short) j++);
cell.setCellValue(folder.getActiveSite());
cellStyle= wb.createCellStyle();
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cell.setCellStyle(cellStyle);
}
/** 放值结束 **/
ByteArrayOutputStream os = new ByteArrayOutputStream();
try{
wb.write(os);
}catch (IOException e){
e.printStackTrace();
}
byte[] content = os.toByteArray();
InputStream is = new ByteArrayInputStream(content);
return is;
}
导出Execel的更多相关文章
- Execel(导出新方法):
#region 新方法 //var sbHtml = new StringBuilder(); //sbHtml.Append("<table border='1' cellspaci ...
- C# 之 EXCEL导入导出
以下方式是本人总结的一些经验,肯定有很多种方法,在此先记下,留待以后补充... 希望朋友们一起来探讨相关想法,请在下方留言. A-1:EXCEL模板导出 非常简单,将EXCEL模板上传到项目中后,将其 ...
- Form_Form Builder Export导出为Excel(案例)
2014-01-09 Created By BaoXinjian
- NPOI对excel文件的导入导出
现理解:将一个Excel文件(工作簿-IWorkBook)看做是一个你要操作的对象,每个工作簿包含多个工作表(ISheet)对象,每个工作表中又包含多个行对象(IRow),每行又包含多个单元格(ICe ...
- PL/SQL Developer 导出csv文件,用excel打开中文显示乱码
用PL/SQL Developer的导出csv功能把sql语句的查询结果导出到一个csv文件.这个sql查询的结果里面有中文,最后用execel打开的时候发现中文全部是乱码. 方法 1 导出csv ...
- 【SqlServer】在SqlServer中把数据导入导出为Excel文件
这里笔者介绍利用SqlServer数据库操作EXECEL文件. 1.将Excel表中的数据导入为SqlServer数据库 把Excel表中的数据导入为SqlServer数据库中的数据. 新建一个Exc ...
- [Mysql]——备份、还原、表的导入导出
备份 1. mysqldump mysqldump备份生成的是个文本文件,可以打开了解查看. Methods-1 备份单个数据库或其中的几个表# mysqldump -u username -p'pa ...
- VB查询数据库之导出表格——机房收费总结(四)
在机房收费系统中,有几个窗体需要导出数据到EXCEL表格中,如:学生上机记录查询窗体.学生充值记录查询窗体.收取金额查询窗体等. 前面的几篇总结,大家建议我不要把代码写的太详细,这样,不利于读者思考, ...
- datagridview数据导出到excel
/// <summary> /// 导出Excel /// </summary> /// <param name="mydgv">控件 Data ...
随机推荐
- C#- Winform调用BAT例子
前段时间在工作的时候需要用到,百度了好久后找,可是找到了又希望调用的时候窗体不要显示出来. proc.StartInfo.CreateNoWindow = true; proc.Start ...
- 【STL源码学习】细品vector
第一节:vector简介 vector是一种典型的类模板,使用的时候必须进行实例化. vector的数据存储在数组上,支持随机访问迭代器,支持下标操作[]和at操作,支持手动扩容和自动容量增长. ve ...
- Xcode8 创建NSManageObject subclass方法
更新iOS8之后发现coredata也做了一些改变,创建本地的时候一脸懵逼,最后发现: 喜极而泣不能自已,(-.-!)
- Notes(一)
Numerous experimental measurements in spatially complex systems have revealed anomalous diffusion in ...
- CCNA 例题精选
3. Refer to the exhibit. Whichtwo statements are true about interVLAN routing in the topology that i ...
- Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-9 @author: guaguastd @name: we ...
- C# Firefox Session Manager 文件的导出与管理
长时间使用Firefox会产生很多的session文件(使用了插件:Session Manager).这些文件保存了你浏览过的所有的网址.虽然我们可以使用firefox的书签功能.但有时候打开的网址过 ...
- 插件就是生产力——那些不能错过的XCode插件们
古人云"工欲善其事必先利其器",打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径! 晾一下我的武器库,欢迎大家选用:) 全能搜索家CodePilot 2.0 -------- ...
- CCCatmullRomTo&CCCatmullRomBy
注: 云形线(Catmull-Rom curve曲线) 云线(Spline或B-spline)在数学上有很多种类,常用的三阶云线有Hermite, Bezier, Uniform B-spline, ...
- springMVC项目在jboss7中配置应用自己的log4j--转载
原文地址:http://www.xuebuyuan.com/1954635.html Jboss7默认采用容器自己的log4j module,应用自己配置的log4j不起作用,需要应用做一些设置: 以 ...