`

JXT 导出数据到EXCEL

 
阅读更多
1.
public class ExportExcel {

/**
* @param List封装着Object[]的列表         
* @param title每个sheet里的标题       */
private final static Logger log = Logger.getLogger(ExportExcel.class.getName());

public static InputStream getExcelInputStream(List<String[]> list, String[] title) {
ByteArrayOutputStream out = new ByteArrayOutputStream();// 将OutputStream转化为InputStream
writeExcel(out, list, title);
return new ByteArrayInputStream(out.toByteArray());
}

public static void writeExcel(OutputStream out, List<String[]> list, String[] title) {
try {
WritableWorkbook workbook = Workbook.createWorkbook(out);
WritableSheet ws = workbook.createSheet("sheet 1", 0);
int rowNum = 0; // 要写的行,第一行是从0开始,以此类推
if (title != null) {
putRow(ws, 0, title);
rowNum = 1;
}
for (int i = 0; i < list.size(); i++, rowNum++) { //数据写入Excel
Object[] cells = (Object[]) list.get(i);
putRow(ws, rowNum, cells);
}
workbook.write();
workbook.close(); 
} catch (RowsExceededException e) {
log.error(e);
} catch (WriteException e) {
log.error(e);
} catch (IOException e) {
log.error(e);
}
}

private static void putRow(WritableSheet ws, int rowNum, Object[] cells)
throws RowsExceededException, WriteException {
for (int j = 0; j < cells.length; j++) {
Label cell = new Label(j, rowNum, "" + cells[j]);
ws.addCell(cell);
}
}

}

2.    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
excelName = "Products_Export_"+ df.format(new java.util.Date()) + ".xls";//导出Excel文件名
    List<InventoryTotalVO>  rowList=pageBean.getRows();//导出的记录
    List<String[]>  extelDataList=new ArrayList<String[]>();
    for(int i=0;i<rowList.size();i++){
    extelDataList.add(data);//要写入Excel的数据
    }
String[] title = { };//Excel标题
excelStream=ExportExcel.getExcelInputStream(extelDataList,title);

3>
    <result name="excel" type="stream">  
                 <param name="contentType">  
                     application/vnd.ms-excel  
                </param>  
                <param name="inputName">excelStream</param>  
               <param name="contentDisposition">  
                     attachment;filename="${excelName}"
                 </param>  
                <param name="bufferSize">1024</param>  
           </result> 
<param name="inputPath">\download</param><!--下载文件的保存路径 -->
<param name="maxRows">1000</param><!-- 下载文件的行数-->
</action>
分享到:
评论

相关推荐

    java基于jxt的excel下载

    首先,JExcelAPI允许Java开发者以编程方式与Excel文件进行交互,包括创建新的工作簿、添加工作表、写入数据、格式化单元格等。它支持多种Excel文件格式,包括.xls(Excel 97-2003格式)和.xlsx(Excel 2007及以上...

    基于JSON格式的强结构型文档数据交换协议jxt设计源码

    jxt旨在实现机器间的数据交互,以JSON格式为基础,特别适用于垂直领域(如办公文档)的数据结构和格式要求。它借鉴了Markdown的数据和样式分离理念,并通过引入扁平结构的自定义标签和语义化数据节点,提升了数据的...

    jxt265(含使用说明)

    Java Excel是一开放源码项目,通过它Java...使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。

    毕业设计选题系统_jxt.zip

    从提供的文件信息来看,"毕业设计选题系统_jxt.zip"是一个包含名为"jxt-master"的文件的压缩包。这个文件可能是系统的主要文件夹或项目文件,包含了开发毕业设计选题系统所需要的所有源代码文件、资源文件以及配置...

    Jxt4NotePlusJ:Jxt4NotePlusJ 是一个 Java 应用程序,可让您编辑和查看您的-开源

    Jxt4NotePlusJ 是一个 Java 应用程序,可让您在简单友好的环境中编辑和查看文本文档。 它类似于记事本,并具有更常见的文本编辑器所包含的所有必要基本功能。 该应用程序适用于文本、Java 和所有文本文件格式,支持...

    jxt-atom:Atom 帖子的 JXT 定义

    "jxt-atom"是针对Atom格式的一个JavaScript库,它提供了处理和解析Atom内容的工具,使得在JavaScript环境中与Atom数据交互变得更加简便。 "jxt-原子"库的目的是为了处理Atom内容的定义,这意味着它可以解析Atom ...

    jxta-lib-2.3.5.zip_java lib_jxta_jxta 2.5_jxta p2psocket_lib jxt

    JXTA 2.5是该项目的一个特定版本,而"jxta_p2psocket_lib jxt"可能指的是JXTA中的P2P套接字库,这在实现P2P通信中起着关键作用。 描述中提到"正在学习JXTA和P2Psocket内容",表明这是一个学习过程,重点在于理解和...

    Jxt4NoteJ-开源

    【Jxt4NoteJ-开源】是一个基于JAVA开发的简单记事本应用程序,它提供了基本的文字编辑功能,适合日常文本处理需求。作为一个开源项目,它的源代码是公开的,允许用户自由查看、学习、修改以及分发。开源软件的性质...

    cznmwf_hkit_jxt2ec.rar

    php源码实现,这是一个用php脚本语言写的上传下载,LinkBox v0.2,程序介绍:简单的大众文件上传系统,支持文件地址...2.将文件夹内容上传到您的网站目录。3.将顶级目录及文件夹“u”设置777权限。,阅读提升自我参考代码

    Jxt4PlayerJ: Audio Player:音频播放器-开源

    j2se6.0v jmf2.1要运行应用程序,请先将Jxt4PlayerJ.rar提取到目录中,然后单击Jxt4PlayerJ.jar,然后再运行jmf2.1.jar api和将罐子复制到Lib文件夹。 重命名为jmf.jar或要运行应用程序,请安装Instal jmf2.1 api ==...

    java类jar包

    Jar (Java Archive) 文件格式是Java平台的标准打包机制,它允许将多个类文件、元数据、资源文件等打包到一个单一的文件中。这种打包方式方便了代码的组织、部署和执行。 首先,我们来看看提到的一些关键点: 1. **...

    【密码学论文阅读】Efficient Searchable Symmetric Encryption for Join Queries

    JXT协议通过对XSet和TSet数据结构的巧妙运用减少了存储膨胀,确保了快速建立及灵活更新的特点。它允许在跨多个关系表进行join查询时保护隐私,而不需要重置整个数据库。 适合人群:对密码学、信息安全、数据库技术感...

    Jxt4RunPlusJ:Jxt4RunPlusJ是源代码编辑器和创建器。-开源

    Jxt4RunPlusJ是源代码编辑器和创建器。 Jxt4RunPlusJ用于编辑不同的源代码,例如记事本。 应用程序还可以通过调用一个接受所有必需的Command Line语句的窗口来执行代码。 执行之前,请确保已设置所有必需的环境变量...

    Jxt4PlayerJ: MP3 Player:播放器,仅用于MP3文件格式-开源

    ========================...Q:停止当前的歌曲要求:j2se6.0v jl1.0.1.jar [JavaZoom的JLayer API]要运行应用程序,请首先将Jxt4PlayerJ.rar解压到目录并单击Jxt4PlayerJ.jar运行之前,请下载jl1.0.1.jar api并将jar复

    NJUPT南京邮电大学数据结构课程四个实验源代码

    实验中,学生需要掌握图的创建、遍历、搜索等基本操作,并将图论的知识应用到智能交通系统中,解决如何在复杂的交通网络中寻找最佳路径的问题,这一问题在现实世界中对于物流配送、导航系统等具有重大意义。...

    NJUPT南京邮电大学数据结构课程四个实验实验报告

    数据结构是计算机存储、组织数据的方式,旨在高效地访问和修改数据。南京邮电大学的这门课程通过四个实验项目,让学生深入理解数据结构的核心概念,并将其应用于解决实际问题。实验一关注线性表和多项式的算术运算,...

    Jxt4TranscriptionJ-开源

    专用于医学转录的 Java 应用程序。 它有管理员和帐单会话登录帐户。 管理:保存药品库存账单会议:对已售出的药品进行计费。 要求:java 1.6.0 mysql 5.0 注意:我不对与此项目或项目名称链接的无关内容站点负责。

    graph.rar_数据结构_Visual_C++_

    包含的源文件"jxt1.cpp"和"jxt.cpp"很可能是实现图数据结构及其操作的具体代码。源代码可能包含了定义图的类,如`Graph`,包含顶点和边的数据成员,以及实现图操作的方法,如`addVertex`、`addEdge`等。通过阅读和...

    linux大全(数据库)

    服务器维护使用帮助-第一章 xming的使用-v1.0-2009-9-11-jxt.doc 服务器维护使用帮助-第二章 virt安装虚拟机-v1.0-2009-9-11-jxt.doc 服务器维护使用帮助-第三章 kvm安装虚拟机-v1.0-2009-9-11-jxt.doc 服务器维护...

    Jxt4MockTestJ:这是一个简单的Java应用程序,使Entr易于实践-开源

    ================================================== ======================== Jxt4MockTestJ ========================= ============================================== :Kumar KBS J版本:9.0.1v ===========...

Global site tag (gtag.js) - Google Analytics