需求 导出excel
package com.sky.car.controller.jt; import com.sky.car.model.OfflineVo; import com.sky.car.util.HttpUtils; import com.sky.common.Environment; import jxl.Workbook; import jxl.format.CellFormat; import jxl.read.biff.BiffException; import jxl.write.*; import net.sf.json.JSONArray; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; /** * Created by jack on 2017/5/15. */ @Controller @CrossOrigin public class StatOfflineDataExportController { @Autowired Environment environment; @RequestMapping(value = "/statOfflineData/export", produces = {"text/html;charset=UTF-8"}) public void download(HttpServletRequest request, HttpServletResponse response, String days, String ownerName, String apiKey) throws IOException, BiffException, WriteException, Exception { response.setHeader("Content-Disposition", "attachment; filename=count.xls"); WritableWorkbook writableWorkbook = ExcelUtils.createTemplate(response.getOutputStream(), environment.getJtHost(), days, ownerName, apiKey); writableWorkbook.write(); writableWorkbook.close(); } static class ExcelUtils { public static WritableWorkbook createTemplate(OutputStream output, String headerUrl, String days, String ownerName, String apiKey) throws IOException, WriteException, Exception { WritableWorkbook writableWorkbook = Workbook.createWorkbook(output); WritableSheet wsheet = writableWorkbook.createSheet("离线数据统计", 0); CellFormat cf = writableWorkbook.getSheet(0).getCell(1, 0).getCellFormat(); WritableCellFormat wc = new WritableCellFormat(); // 设置居中 // wc.setAlignment(GroupLayout.Alignment.CENTER); // 设置边框线 wc.setBorder(Border.ALL, BorderLineStyle.THIN); wc.setBackground(jxl.format.Colour.GREEN); Label nc0 = new Label(0, 0, "行政区域", wc);//Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是z Label nc1 = new Label(1, 0, "单位名称", wc); Label nc2 = new Label(2, 0, "车牌号", wc); Label nc3 = new Label(3, 0, "车牌颜色", wc); Label nc4 = new Label(4, 0, "最后上线时间", wc); Label nc5 = new Label(5, 0, "离线天数", wc); Label nc6 = new Label(6, 0, "统计日期", wc); wsheet.addCell(nc0); wsheet.addCell(nc1); wsheet.addCell(nc2); wsheet.addCell(nc3); wsheet.addCell(nc4); wsheet.addCell(nc5); wsheet.addCell(nc6); List<OfflineVo> list = loadDate(apiKey, headerUrl, ownerName, days); for (int i = 1; i <= list.size(); i++) { OfflineVo offlineVo = list.get(i - 1); Label ncd0 = new Label(0, i, offlineVo.getDistrictName());//Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是z Label ncd1 = new Label(1, i, offlineVo.getOwnerName()); Label ncd2 = new Label(2, i, offlineVo.getVname()); Label ncd3 = new Label(3, i, offlineVo.getColor()); Label ncd4 = new Label(4, i, offlineVo.getLastGPSTime()); Label ncd5 = new Label(5, i, offlineVo.getOfflineDays()); Label ncd6 = new Label(6, i, offlineVo.getStatDate()); wsheet.addCell(ncd0); wsheet.addCell(ncd1); wsheet.addCell(ncd2); wsheet.addCell(ncd3); wsheet.addCell(ncd4); wsheet.addCell(ncd5); wsheet.addCell(ncd6); } return writableWorkbook; } } static List<OfflineVo> loadDate(String apiKey, String headerUrl, String ownerName, String days) throws Exception { String url = headerUrl + "/mnt.rest/rest/plat-stat-shx-svc/statOfflineData?ownerName=@ownerName&days=@days" .replace("@ownerName", ownerName) .replace("@days", days); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("ownerName", ownerName)); params.add(new BasicNameValuePair("days", days)); String result = HttpUtils.post(url, params, apiKey); JSONArray array = JSONArray.fromObject(result); List<OfflineVo> list = JSONArray.toList(array, OfflineVo.class); return list; } }
相关推荐
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文件,因为Java标准库并未提供直接支持图像到Excel的功能。以下是一些...
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。
"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及内存管理。 1. **Java与Excel的交互**: Java可以通过多种库来实现与Excel的交互,如Apache POI、...