//alarmLogExport.action
/**
* 日志导出
*
*/
@SuppressWarnings("unchecked")
public String alarmLogExport() throws IOException {
try {
// AlarmLog 是model
//数据库查询数据放到List
List<AlarmLog>list = alarmLogService.getAlarmLogList(beginTime, endTime,alarmMode, result);
} catch (Exception e1) {
}
response = (HttpServletResponse) ServletActionContext.getResponse();
OutputStream os = null;
try {
os = response.getOutputStream();
} catch (IOException e) {
}
response.reset();
response.setHeader("Content-disposition", "attachment; filename="
+ "alarmLog.xls");
response.setContentType("application/msexcel");
LogExport excelExport = new LogExport();
inputStream = excelExport.exportAlarmLog(list, os);
return SUCCESS;
}
//工具类
//LogExport.java
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.model. AlarmLog;
public class LogExport {
//警报日志AlarmLog
public InputStream exportAlarmLog(List<AlarmLog> alarmLog, OutputStream os) throws IOException {
//SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//创建excel
HSSFWorkbook hwb = new HSSFWorkbook();
int k = 1;
//创建sheet页
HSSFSheet sheet = hwb.createSheet("警报日志" + k);
k++;
//创建标题行
HSSFRow row1 = sheet.createRow(0);
row1.createCell(0).setCellValue(new HSSFRichTextString("通知的用户名"));
row1.createCell(1).setCellValue(new HSSFRichTextString("通知的用户组织"));
row1.createCell(2).setCellValue(new HSSFRichTextString("通知的用户邮箱"));
row1.createCell(3).setCellValue(new HSSFRichTextString("通知的用户电话"));
row1.createCell(4).setCellValue(new HSSFRichTextString("警报通知时间"));
row1.createCell(5).setCellValue(new HSSFRichTextString("警报内容"));
int row = 0;
for (int i = 0; i < alarmLog.size(); i++) {
if (i > 0 && i % 10000 == 0) {
sheet = hwb.createSheet("警报日志" + k); // 建立新的BirthSheet对象
k++;
row1.createCell(0).setCellValue(new HSSFRichTextString("通知的用户名"));
row1.createCell(1).setCellValue(new HSSFRichTextString("通知的用户组织"));
row1.createCell(2).setCellValue(new HSSFRichTextString("通知的用户邮箱"));
row1.createCell(3).setCellValue(new HSSFRichTextString("通知的用户电话"));
row1.createCell(4).setCellValue(new HSSFRichTextString("警报通知时间"));
row1.createCell(5).setCellValue(new HSSFRichTextString("警报内容"));
}
HSSFRow row2 = sheet.createRow((row % 10000) + 1);// 创建表格的行
row2.createCell(0).setCellValue(new HSSFRichTextString(alarmLog.get(i).getUserName()));
row2.createCell(1).setCellValue(new HSSFRichTextString(alarmLog.get(i).getUserDepart()));
row2.createCell(2).setCellValue(new HSSFRichTextString(alarmLog.get(i).getUserEmail()));
row2.createCell(3).setCellValue(new HSSFRichTextString(alarmLog.get(i).getUserTelephone()));
row2.createCell(4).setCellValue(new HSSFRichTextString(df.format(alarmLog.get(i).getAlarmTime())));
row2.createCell(5).setCellValue(new HSSFRichTextString(alarmLog.get(i).getAlarmContent()));
row++;
}
try {
hwb.write(os);
os.flush();
return new ByteArrayInputStream(hwb.getBytes());
} catch (IOException e) {
return null;
}
}
}
到此就成功导出了。
分享到:
相关推荐
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
Java Excel导出数据是Java开发中常见的需求,主要用于将程序处理的数据以Excel表格的形式提供给用户下载。在Java中,Apache POI库是处理Microsoft Office文档(包括Excel)的首选工具,因此,"java poi"标签表明我们...
本示例主要关注如何使用Apache POI库来实现JavaExcel导出功能。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel。 首先,你需要在你的项目中引入Apache POI依赖。如果你...
在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...
"java excel导出util包"是一个专为解决这个问题而设计的工具集,它简化了从后端生成并导出Excel文件的过程。下面将详细介绍这个util包可能包含的组件、功能及其工作原理。 首先,这个util包很可能提供了方便的API,...
Java Excel导出是一个常见的需求,尤其在数据处理和报表生成的场景中。Apache POI库是Java领域中用于操作Microsoft Office格式文件,尤其是Excel的主要工具。在这个“java excel导出demo”中,我们将会深入探讨如何...
在这个场景中,"java excel导出 支持03 07导出 样式可配置"指的是使用Java来实现Excel文件的导出功能,同时兼容旧版的Excel 2003(.xls)和新版的Excel 2007及以后版本(.xlsx)。这个功能通常涉及到Apache POI库,...
Java Excel导出主要涉及将程序处理的数据写入Excel文件,以便用户可以查看、编辑或进一步分析。Java提供了多种库来实现这一功能,如Apache POI、JExcelAPI和HSSF/SSFX等。Apache POI是最常用的一个,它提供了对...
在Java编程中,导出复杂的Excel模板是一...熟练掌握Apache POI或其他相关库的用法,结合业务需求,能有效提高工作效率并提供高质量的Excel导出功能。在实际开发中,不断优化代码和策略,可以更好地满足性能和功能需求。
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
java导出复杂Excel内容数据动态循环
java导出Excel 时候 相同行合并(可合并多列); 已测试通过;
java实现excel批量导出功能的所有代买实现逻辑,及源码。适合初级、中级、高级程序员,用户一看就明白
Java Excel导出是Java开发中常见的一种需求,用于将数据以Excel格式导出,便于用户进行数据管理和分析。以下是对给定代码的详细解释和相关知识点的介绍: 1. **导出工具类**:`ExcelUtil` 是一个静态工具类,提供了...
用Java实现的Excel的导入导出,简洁明了,高质量代码。
然后,我们需要创建一个工具类,负责处理Excel导出。这个类会扫描实体类上的注解,并根据这些信息创建Excel工作表: ```java public class ExcelExportUtil { public static void exportExcel(List<User> user...
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
在Java编程中,导出数据到Excel是一种常见的需求,尤其当需要将图片与文本一起展示在电子表格中时。这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并未提供直接支持图像到Excel的功能。以下是一些...
资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。
"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及内存管理。 1. **Java与Excel的交互**: Java可以通过多种库来实现与Excel的交互,如Apache POI、...