`
晨星★~雨泪
  • 浏览: 448295 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jxl excel 下载

阅读更多

 
File tempFile=new File("d:/temp/output.xls");
WritableWorkbook workbook 
= Workbook.createWorkbook(tempFile);   
WritableSheet sheet 
= workbook.createSheet("TestCreateExcel"0);    
  
//一些临时变量,用于写到excel中   
Label l=null;   
jxl.write.Number n
=null;   
jxl.write.DateTime d
=null;   
  
//预定义的一些字体和格式,同一个Excel中最好不要有太多格式   
 WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, 
    
false, Underlinestyle.NO_UNDERLINE, jxl.format.Colour.BLUE);    
 WritableCellFormat headerFormat 
= new WritableCellFormat (headerFont);    
   
 WritableFont titleFont 
= new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD,
     
false, Underlinestyle.NO_UNDERLINE, jxl.format.Colour.RED);    
 WritableCellFormat titleFormat 
= new WritableCellFormat (titleFont);    
   
 WritableFont detFont 
= new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, 
    
false, Underlinestyle.NO_UNDERLINE, jxl.format.Colour.BLACK);    
 WritableCellFormat detFormat 
= new WritableCellFormat (detFont);    
   
 NumberFormat nf
=new NumberFormat("0.00000"); //用于Number的格式   
 WritableCellFormat priceFormat = new WritableCellFormat (detFont, nf);    
   
 DateFormat df
=new DateFormat("yyyy-MM-dd");//用于日期的   
 WritableCellFormat dateFormat = new WritableCellFormat (detFont, df);    
   
 
//剩下的事情,就是用上面的内容和格式创建一些单元格,再加到sheet中   
 l=new Label(00"用于测试的Excel文件", headerFormat);   
 sheet.addCell(l);   
   
 
//add Title   
 int column=0;   
 l
=new Label(column++2"标题", titleFormat);   
 sheet.addCell(l);   
 l
=new Label(column++2"日期", titleFormat);   
 sheet.addCell(l);   
 l
=new Label(column++2"货币", titleFormat);   
 sheet.addCell(l);   
 l
=new Label(column++2"价格", titleFormat);   
 sheet.addCell(l);   
   
 
//add detail   
 int i=0;   
 column
=0;   
 l
=new Label(column++, i+3"标题 "+i, detFormat);   
 sheet.addCell(l);   
 d
=new DateTime(column++, i+3new java.util.Date(), dateFormat);   
 sheet.addCell(d);   
 l
=new Label(column++, i+3"CNY", detFormat);   
 sheet.addCell(l);   
 n
=new jxl.write.Number(column++, i+35.678, priceFormat);   
 sheet.addCell(n);   
   
 i
++;   
 column
=0;   
 l
=new Label(column++, i+3"标题 "+i, detFormat);   
 sheet.addCell(l);   
 d
=new DateTime(column++, i+3new java.util.Date(), dateFormat);   
 sheet.addCell(d);   
 l
=new Label(column++, i+3"SGD", detFormat);   
 sheet.addCell(l);   
 n
=new jxl.write.Number(column++, i+398832, priceFormat);   
 sheet.addCell(n);   
   
 
//设置列的宽度   
 column=0;   
 sheet.setColumnView(column
++20);   
 sheet.setColumnView(column
++20);   
 sheet.setColumnView(column
++10);   
 sheet.setColumnView(column
++20);   
   
 workbook.write();   
 workbook.close();   

我正在做的项目里定义了很多样式,好像速度也不算慢,还有一些其他方面的定义,补充到下面:

    //构造格式:ARIAL字体、10号、粗体、非斜体、无下划线、黑色
    WritableFont fmtx2TotalCaption = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,
        
false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK); 
    WritableCellFormat totalx2Format 
= new WritableCellFormat(fmtx2TotalCaption);
   
//文字垂直居中对齐
    totalx2Format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); 
   
//文字水平居中对齐 
    totalx2Format.setAlignment(jxl.format.Alignment.CENTRE);   
    
//边框深蓝色
    totalx2Format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN,
        jxl.format.Colour.DARK_BLUE);
    
//设置底色为冰蓝
    totalx2Format.setBackground(jxl.format.Colour.ICE_BLUE); 

 
    sheet.mergeCells(
0, row, 8, row);  //合并单元格,row 到 row 行,0 到 8 列

    sheet.setRowView(row, 
600);// 第 row 行的高度


另外就是要在 Action(servlet) 中这么写,IE就会直接弹出保存文件的对话框(注意要占用当前窗口):
    String title = "XXXX统计";
    OutputStream out 
= response.getOutputStream();
    WritableWorkbook wb 
= Workbook.createWorkbook(out);
    response.setContentType(
"aplication/vnd.ms-excel");
    response.addHeader(
"Content-Disposition","inline; filename=" + new String(title.getBytes("GB2312"),"ISO8859_1"+ ".xls");  //有中文必须转码


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1526490


分享到:
评论

相关推荐

    jxl导出Excel

    在Java编程中,有时我们需要将数据导出到Excel文件中,这时可以使用开源库JExcelAPI(简称jxl)。这个库允许我们方便地读取、写入和操作Excel文件,而无需依赖Microsoft Office。本文将深入探讨如何使用jxl库导出...

    用jxl下载excel文件

    ### 使用JXL库下载并处理Excel文件 #### 知识点概述 本文将详细介绍如何使用JXL库结合Java网络编程技术来实现从指定URL下载Excel文件,并将其保存到本地指定目录的功能。此外,我们还将简单介绍如何使用JXL库读取...

    JXL 下载 Excel 文档

    这篇博客“JXL 下载 Excel 文档”可能是介绍如何使用JXL库在Java程序中创建、读取或修改Excel文件。 描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容没有给出,但我们可以推测博主可能详细介绍了使用JXL库...

    jxl操作excel实例,jxl jar包下载

    通过下载并引入`jxl.jar`,你可以在Java项目中轻松地读取和写入Excel数据。结合示例代码`Test.java`,可以快速掌握基本的Excel操作,从而实现更多自定义功能。记住,为了确保程序正常运行,需要确保`jxl.jar`已正确...

    使用jxl操作Excel

    在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库是一个广泛使用的开源库,专门用于读取和写入Microsoft Excel文件。本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel...

    java jxl Excel 读写 合并单元格 下载 等实例

    java jxl Excel 读写 合并单元格 下载 等实例

    jxl对excel添加水印(含有setWaterMarkImage方法).zip

    `jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何利用`jxl`库为Excel文件添加水印,特别关注`setWaterMarkImage`方法。 首先,`jxl`库不直接提供...

    jxl实现excel上传下载全部功能

    Excel下载涉及从服务器生成Excel文件并提供给客户端下载。主要步骤如下: 1. 根据需要从数据库或其他数据源获取数据。 2. 使用JXL的`Workbook.createWorkbook()`方法创建一个新的工作簿对象。 3. 创建一个`Sheet`...

    java使用jxl打印excel报表文件

    上述代码中,`doGet`方法创建了一个Servlet,当用户访问特定URL时,Servlet会生成一个Excel文件并作为HTTP响应的一部分返回,浏览器通常会提示用户下载。 值得注意的是,JXL库只支持Excel 97-2003格式(.xls),...

    jxl导出excel加水印.zip

    `jxl`库是一个流行的Java库,它允许开发者读取、写入和修改Excel文件。本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `...

    jxl模版生成excel

    "jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    Jxl实现Excel的导入导出

    使用Jxl对Excel进行导入导出,其中包含设置单元格样式以及数据有效性。

    JXLExcel生成简单excel表

    "JXLExcel生成简单excel表"是一个基于JXL库的插件,它简化了使用Java创建Excel文件的过程,使得开发者无需深入理解JXL库的复杂性就能快速生成基本的Excel表格。 JXL,全称Java Excel API,是一个开源的Java库,专门...

    java jxl 下载(提示保存)

    ### Java JXL Excel 下载(提示保存)知识点详解 #### 一、JXL库简介 JXL 是一款用于处理Excel文件的Java库,它能够帮助开发者读取、写入、编辑Excel文件。JXL适用于处理.xls格式的Excel文件,而针对.xlsx格式,则...

    利用jxl操作excel文件

    1. **安装与引入**:在项目中使用`jxl`库,首先需要下载对应的jar文件(如`jxl.jar`),然后将其添加到项目的类路径中。对于Maven项目,可以在`pom.xml`中添加如下依赖: ```xml <groupId>...

    jxl excel批量导入

    标题中的“jxl excel批量导入”指的是使用Java的jxl库来处理Excel文件,实现数据的批量读取和写入。jxl是一个广泛使用的开源Java库,它允许开发者读取、写入和修改Microsoft Excel文件。这个过程在处理大量数据时...

    JXL读写EXCEL示例

    在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库提供了一个简洁的API来实现这一功能。JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个示例中,我们将深入探讨如何...

    使用jxl.jar在Android中操作Excel表格

    这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...

Global site tag (gtag.js) - Google Analytics