`

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

    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复

    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 ===========...

    联通短信接口规范

    3. 应用层将原始记录表中的数据传递给短信服务提供商。 4. 短信服务提供商将短信发送到目标手机号。 5. 短信服务提供商将短信发送状态回传给应用层。 五、错误处理机制 错误处理机制如下: 1. 如果短信发送失败,...

    mysql的全套9个学习笔记.zip

    在数据类型部分,你将了解到MySQL支持的多种数据类型,如数值类型(INT、FLOAT、DECIMAL等)、字符串类型(CHAR、VARCHAR、TEXT等)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP等),并学会根据需求选择合适...

Global site tag (gtag.js) - Google Analytics