`
a4212abc
  • 浏览: 6738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

controller层


/**
* 导出到Excel
*
* @param request
* @param response
*/
@SuppressWarnings("unchecked")
@RequestMapping(params = "method=toExcelNo")
public void toExcelNo(HttpServletRequest request, HttpServletResponse response) {
try {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e2) {
e2.printStackTrace();
}



String fileName = request.getParameter("fileName");
fileName = (fileName == null) ? "充值卡" : fileName;
try {
fileName = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e2) {
e2.printStackTrace();
}

response.reset();
response.setContentType("application/x-download;charset=gbk");
response.setHeader("Content-disposition", "attachment; filename="
+ fileName + ".xls");

HSSFWorkbook workbook  = excelExportCardNoService.createExcel(request, response);//excel工作薄对象

if (null == workbook) {
return;
}

try {
workbook.write(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}


service层



import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
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;


public class ExcelExportCardNoServiceImpl implements ExcelExportCardNoService {
private List cardList = null;// 充值卡记录

private CardInfo cardInfoDao;

public void setCardInfoDao(CardInfo cardInfoDao) {
this.cardInfoDao = cardInfoDao;
}

/**
* 初始化 */
public void initList(HttpServletRequest request,
HttpServletResponse response) {

StringBuffer hqlstr = new StringBuffer(
"SELECT new CardInfoD(......");
StringBuffer hql = new StringBuffer( "
  FROM  ... WHERE ......");

cardList = cardInfoDao.getPageCard (hqlstr + hql.toString());// 获得要导出的列表
}

/**
* 执行入口
*/
public HSSFWorkbook createExcel(HttpServletRequest request,
HttpServletResponse response) {
HSSFWorkbook workbook = null;
try {
/**
* step1:初始化数据
*/
initList(request, response);
/**
* step2:
* <p>
* 创建新的Excel工作簿
* <p>
*/
workbook = new HSSFWorkbook();
HSSFSheet sheet = null;
String currentSheetName = null;
currentSheetName = "充值卡";
sheet = workbook.createSheet(currentSheetName);
addRow(sheet, currentSheetName, request, response);
} catch (Exception e) {
System.out.println("已运行 excelCreate() : " + e);
}
return workbook;
}

/**
* 增加行
*/
public void addRow(HSSFSheet sheet, String currentSheetName,
HttpServletRequest request, HttpServletResponse response) {
/**
* step3:在索引1的位置创建行(menu菜单)
*/
addTopRow(sheet, currentSheetName);
/**
* step4:
*/

/**
* step5:从索引2(第三行)的位置填充记录
*/
HSSFRow row = null;

int j = 2;
if (null != cardList && cardList.size() > 0) {
CardInfoD card = null;
for (int i = 0; i < cardList.size(); i++) {
card = (CardInfoD) cardList.get(i);
row = sheet.createRow((short) j);
addCell(row, card);
j++;
}
}
}

/**
* 增加列
*/
public void addCell(HSSFRow row, Object cardObj) {
CardInfoD card = (CardInfoD) cardObj;


HSSFCell cell = null;
/**
* 第一列
*/
// 在索引0的位置创建单元格(左上端)
cell = row.createCell((short) 0);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在单元格中输入一些内容
cell.setCellValue(card.getCardId());
/**
* 第二列
*/
cell = row.createCell((short) 1);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString(card.getCardNo()));
/**
* 第三列
*/
cell = row.createCell((short) 2);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString(card.getCardPwd()));

cell = row.createCell((short) 3);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(new HSSFRichTextString(card.getGoldMoney().toString()));

cell = row.createCell((short) 4);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString(card.getCreateDate()+""));


......
}

/**
* excel头菜单
*
* @param sheet
*/
public void addTopRow(HSSFSheet sheet, String currentSheetName) {
HSSFRow row = sheet.createRow((short) 1);
createBasicMenuRow(row);//基本信息,固定列
}

/**
* 创建固定列
*
* @param row
*/
public void createBasicMenuRow(HSSFRow row) {
HSSFCell cell = null;

/**
* 第一列:序号
*/
cell = row.createCell((short) 0);// 创建单元格
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 定义单元格为字符串类型
cell.setCellValue(new HSSFRichTextString("序号"));// 在单元格中输入一些内容
/**
* 第二列:卡号
*/
cell = row.createCell((short) 1);// 创建单元格
cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 定义单元格为字符串类型
cell.setCellValue(new HSSFRichTextString("卡号"));// 在单元格中输入一些内容
......
}

}
分享到:
评论

相关推荐

    使用aspose导出Excel(根据模板导出excel).zip

    在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip...

    poi导出根据模板导出excel和简单列表导出excel源码

    在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...

    pb导出excel2007

    "pb导出excel2007"这个主题涉及到的是如何在PowerBuilder中将数据窗口(DataWindow)的内容导出到Excel 2007格式的文件中。在实际开发中,有时我们需要将PB的数据窗口数据导出到Excel以便于分析、处理或分享,而这个...

    Delphi DBGrid导出Excel2010

    Delphi DBGrid 导出 Excel 2010 Delphi DBGrid 是一个强大的数据-grid 控件,经常用于展示大量数据。然而,在实际应用中,我们经常需要将 DBGrid 中的数据导出到其他格式,例如 Excel,以便于数据分析和处理。下面...

    导出Excel功能,导出Excel功能,导出Excel功能

    在IT领域,导出Excel功能是一项非常常见的需求,特别是在数据分析、报表生成以及数据共享等场景中。Excel作为一款强大的电子表格软件,因其易用性、灵活性和强大的计算能力,成为了企业和个人处理数据的首选工具。...

    GridControl通用导出Excel

    ### GridControl通用导出Excel知识点解析 #### 一、GridControl通用导出Excel概述 GridControl是DevExpress提供的一款用于展示和编辑数据的强大组件。在实际应用中,常常需要将GridControl中的数据导出到Excel中,...

    易语言高级表格快速导出EXCEL

    在"易语言高级表格快速导出EXCEL"这个项目中,开发者可能需要实现以下关键技术点: 1. **数据结构与表格对象**:首先,需要在易语言中创建合适的数据结构来存储表格数据,这通常涉及数组或链表等数据类型。同时,...

    jquery 导出excel方法

    下面将详细介绍jQuery导出Excel的方法,以及相关知识点。 1. **jQuery插件:TableExport** 文件`tableExport.jquery.plugin-a891806`可能是一个名为TableExport的jQuery插件,它允许开发者将HTML表格数据导出为...

    ext实现导出excel的功能。

    在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...

    C# NPOI 导出Excel

    本资源提供的"004ExportExcelDemo"示例将帮助你了解如何使用NPOI来导出Excel数据。 首先,让我们了解一下NPOI的基本概念。NPOI主要包含两个主要组件:HSSF(Horrible SpreadSheet Format)用于处理旧版的Excel 97-...

    POI导出Excel文件

    这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...

    cxGrid带正副标题导出Excel

    在本主题"cxGrid带正副标题导出Excel"中,我们将探讨如何利用cxGrid控件在导出数据到Excel文件时,同时包含主标题(正标题)和副标题(副标题)。 首先,我们需要了解cxGrid的基本结构。cxGrid通常由几个主要部分...

    js导出excel.zip

    在JavaScript编程领域,导出Excel是一项常见的需求,特别是在Web应用中,用户可能需要将数据显示在Excel表格中以便进一步处理或存储。"js导出excel.zip"这个压缩包提供了一个解决方案,它结合了EasyUI和DataGrid组件...

    lodop导出ExcelDemo

    【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...

    Excel通用导出excel文件

    "Excel通用导出excel文件"这个主题涵盖了如何在不同情况下高效地实现这一目标,不论你是要处理小规模的数据还是大规模的数据集。下面,我们将深入探讨Excel的通用导出功能,以及如何利用它来优化你的工作流程。 ...

    layui数据表格导出Excel插件

    layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中的数据导出到Excel文件中。layui是一款轻量级的前端UI框架,以其简洁、优雅的代码风格和丰富的组件库深受开发者喜爱...

    java导出excel POI jar包

    Java导出Excel是Java开发中常见的需求,尤其是在数据处理和报表生成方面。Apache POI库是Java领域中广泛使用的工具,它允许开发者读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇文章将深入讲解...

    易语言高级表格导出EXCEL

    在"易语言高级表格导出EXCEL"这个主题中,我们主要关注的是如何使用易语言来操作表格数据,并将这些数据高效地导出到Microsoft Excel格式。易语言提供了丰富的库函数和组件,使得开发者可以方便地实现对表格数据的...

Global site tag (gtag.js) - Google Analytics