`

jxl 导出关键代码

阅读更多
private void doExportStatistics(ActionRequest actionRequest,ActionResponse actionResponse) throws IOException, SystemException, RowsExceededException, WriteException,
PortalException{


OutputStream outputStream=new FileOutputStream("路径"+"文件名"+".xls");

   WorkbookSettings setting = new WorkbookSettings();
   java.util.Locale locale = new java.util.Locale("zh","CN");
   setting.setLocale(locale);
   setting.setEncoding("ISO-8859-1");
  
WritableWorkbook wbook = Workbook.createWorkbook(outputStream);//创建一个可写入的工作薄(Workbook)对象
WritableSheet wsheet = wbook.createSheet(LanguageUtil.get(actionRequest, "Index.Scorel"), 0);//创建Excel工作表 并命名,第一个工作表

/*设置工作表中的默认列宽为12   可以看一下excel中具体的大小,
* 该值指的是在列最后出现双向箭头时,单击调节列宽时显示的前一个数值
* 如:宽度:9.00(77像素)中的9.00-->>9(因为是int型的只能设置为整数了哦!!)
* */
wsheet.getSettings().setDefaultColumnWidth(12);

/*
* 对工作表中的第一列为进行冻结窗口,实行浮动效果
* */

// wsheet.getSettings().setHorizontalFreeze(1);

/*
* 对工作表中的第一行为进行冻结窗口,实行浮动效果
* */
wsheet.getSettings().setVerticalFreeze(1);
// wsheet.getSettings().setDefaultRowHeight(60);

/*
* 设置指定行的行高:从0开始
* 关于行高:通列宽一样,但值得注意的是:在显示高度时 前一个数值*20
* 如:高度30.00(40像素)中 要用30*20=600
*
* */
wsheet.setRowView(0, 600);


/*
* 设置字体样式 (字体,大小,加粗等……)值的注意的是jxl中不能自定义颜色!
* 要想自定义颜色是比较麻烦的在这就不多说了!其实jxl内置的颜色也够基本的使用了,呵呵!
* */
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 9,WritableFont.NO_BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.WHITE);

WritableCellFormat titleFormat = new WritableCellFormat(wfont); //添加带有字体样式的formatting对象

titleFormat.setBackground(jxl.format.Colour.AQUA);//设置单元格的背景颜色
titleFormat.setWrap(true);                        //是否自动换行
titleFormat.setAlignment(jxl.format.Alignment.CENTRE);//上下的对齐方式
titleFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//设置水平的对齐方式   当然还有其他许多常用的属性,这里就不在累述了


jxl.write.NumberFormat nf=new jxl.write.NumberFormat("#0.00#");//格式化数值!参数可见jxl api

WritableCellFormat numberFormat=new WritableCellFormat(nf);//添加带有格式化的Number对象
/*
* 对于数据的填入就可以根据自己的具体需要进行具体的填入了!!
* */

//下面是借用网络上的内容对其他类型的对象进行的简单说明
//ws 为WritableSheet的对象

/*        //2.
        Number labelN = new Number(0,1,3.1415926);
        ws.addCell(labelN);

        //添加带有formatting的Number对象
        Numberformat nf = new Numberformat("#.##");
        WritableCellformat wcfN = new WritableCellformat(nf);
        Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN); //在b2单元格加入数据且是带有带有格式化的Number对象
        ws.addCell(labelNF);

        //3.添加Boolean对象
        Boolean labelB = new jxl.write.Boolean(0,2,false);
        ws.addCell(labelB);

        //4.添加DateTime对象
        jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());
        ws.addCell(labelDT);

        //添加带有formatting的Dateformat对象
        Dateformat df = new Dateformat("dd MM yyyy hh:mm:ss");
        WritableCellformat wcfDF = new WritableCellformat(df);
        DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
        ws.addCell(labelDTF);


        //添加图片对象,jxl只支持png格式图片
        File image = new File("f:\\2.png");
        WritableImage wimage = new WritableImage(0,1,2,2,image);
        ws.addImage(wimage);*/


//************************************************************************
//写入工作表
wbook.write();
wbook.close();
outputStream.close();

//***********************下面是对创建的excel的导出部分************************

//其实就是把刚才生成的excel下载下来,这里就不在累述 了
File file=new File(basePath+number+".xls");
HttpServletResponse response=PortalUtil.getHttpServletResponse(actionResponse);
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition","attachment;filename="+file.getName());
response.setHeader("Content-Disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1"));
FileInputStream fis=new FileInputStream(file);  
BufferedInputStream buff=new BufferedInputStream(fis);
byte [] b=new byte[1024];
long k=0;
OutputStream myout=response.getOutputStream();
while(k<file.length()){  
int j=buff.read(b,0,1024);
k+=j;
myout.write(b,0,j);
}
myout.flush();
fis.close();
myout.close();
file.delete();
}
分享到:
评论

相关推荐

    jxl导出excel总结

    《jxl导出Excel的深度解析与应用》 在信息化高度发展的今天,Excel作为数据处理和分析的重要工具,被广泛应用于各个领域。Java作为一种强大的编程语言,如何与Excel进行交互,成为了许多开发者关注的焦点。jxl库...

    uploadify+jxl导入导出代码备份 没有需要的jxl jar

    在描述中提到的"没有需要的jxl jar"可能是指在示例代码中并没有包含jxl的jar文件,因此在运行或复用代码时,你需要自行下载并添加jxl库到你的项目类路径中。 为了实现数据的导入导出,通常的步骤如下: 1. **文件...

    Excel导入导出 jxl及Poi 工具类

    为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...

    jxl导出excel实践

    本文将深入探讨如何使用JXL库在Java中导出Excel文件,基于提供的“jxl导出excel实践”主题。 JXL库(Java Excel API)是专门用于读写Microsoft Excel文件的开源库。它支持多种操作,如创建新的工作簿,读取现有工作...

    用JXL导出EXCEL

    ### 使用JXL库导出Excel的关键知识点 #### JXL库简介 JXL(Java Excel API)是一个用于读取和写入Microsoft Excel文件的Java库。它支持多种版本的Excel文件,包括`.xls`格式。使用JXL库进行Excel操作非常方便,特别...

    java用jxl包导出excel表格

    接下来,我们将通过一个简单的示例——`ExcelDemo`,来展示如何使用JXL导出Excel表格。首先,我们需要创建一个`Workbook`对象,这相当于Excel文件中的工作簿。然后,我们可以在这个工作簿上创建多个`Sheet`,每个`...

    jxl报表 代码应用

    【标题】"jxl报表 代码应用"涉及的是在Java编程环境中使用jxl库来创建和处理Excel报表的实践案例,特别关注的是如何在SSH(Struts、Hibernate、Spring)框架下集成jxl进行数据展示。 【描述】"jxl实现的SSH架构的...

    java jxl导出excel文件.txt

    根据提供的部分代码示例,可以看出以下关键点: - **请求参数获取**:通过`request.getParameter()`方法获取前端传入的参数。 - **日志记录**:使用`log.info()`记录用户输入的起始和结束编码。 - **业务逻辑处理**...

    jxl 实现根据sql语句导出excel文件

    在标签"源码 工具"中,源码可能指的是实现这个功能的Java代码示例,而工具可能指的是jxl库本身,以及可能使用的JDBC驱动,它们都是完成任务的关键部分。 至于文件名"ExcelTest",这可能是测试类或包含测试用例的...

    jxl导出excel

    总结起来,"jxl导出excel"涉及的关键知识点包括: 1. JXL库的使用 2. 创建`Workbook`和`Sheet` 3. 添加和操作`Row`和`Cell` 4. 设置单元格的值和格式 5. 动态生成和填充数据 6. 保存并关闭`Workbook` 通过学习和...

    jxl报表导入导出

    "jxl 导入 导出 java"的标签表明这个功能适用于Java环境,并且涵盖了输入和输出两个关键部分。 5. **最佳实践**: - 当处理大量数据时,考虑使用内存优化策略,比如分批读写。 - 为了防止格式丢失,使用`...

    自己写的JXL的导入导出,绝对可以发布!

    标题中的“自己写的JXL的导入导出,绝对可以发布!”表明这是一个关于自研的JXL库用于Excel数据的导入与导出功能...通过阅读提供的教程、源代码和示例,开发者可以深入理解如何高效地使用JXL库进行数据的导入导出。

    jxl 实现excel导入导出

    `jxl`库主要包含以下几个关键类: 1. `Workbook`:这个类代表一个Excel工作簿,相当于Excel文件中的多个工作表的容器。 2. `Sheet`:表示工作簿中的一个工作表,类似于Excel文件中的一页。 3. `Cell`:表示工作表中...

    jxl 实现 excel的导入和 导出

    具体到`jxl`的使用,以下是一些关键知识点: 1. **读取Excel文件**:使用`Workbook`类的静态方法`Workbook.getWorkbook(File file)`可以从指定文件加载一个Excel工作簿。然后你可以通过索引访问其中的工作表(Sheet...

    jxl-2.6.10.jar包

    在实际应用中,使用jxl-2.6.10.jar包时,需要将其添加到项目的类路径中,这样就可以在代码中直接引用jxl的类和方法。需要注意的是,虽然jxl库在处理小规模数据时表现出色,但对于大规模数据,由于内存限制,可能会...

    jxl api文档,做导入和导出不可缺少的文档

    本文将深入探讨JXL API,帮助你了解并熟练掌握这一关键工具。 JXL全称为Java Excel API,是一个开源库,专门用于读写Microsoft Excel格式的文件。由于Excel文件格式的复杂性,手动处理往往十分繁琐,而JXL API则...

    Java导入导出Excel代码

    以下是关于使用jxl库进行Java Excel操作的一些关键知识点: 1. **jxl库介绍**: jxl库是一个Java API,用于读写Microsoft Excel格式的文件。它支持多种Excel功能,如单元格样式、公式、图像和多工作表操作。jxl库...

    java 导出excel(单、多工作薄)

    本文将详细介绍如何使用Java的两个库,jxl和Apache POI,来实现单个和多个工作簿的Excel导出。 首先,我们来看jxl库。jxl是Java Excel API的简称,它允许Java程序读写Excel文件。在单个工作簿的导出中,jxl库提供了...

    数据导入导出xls(jxl)

    在压缩包中的文件“数据导入导出xls(jxl)”很可能包含了示例代码或者教程,展示了如何使用jxl库进行上述操作。对于初学者,通过研究这些示例可以快速掌握jxl的用法。在开发过程中,注意处理可能出现的异常,比如文件...

    java jxl的jar包 官方下载版

    本文将深入探讨JXL库的关键特性、使用方法以及在实际项目中的应用场景。 ### JXL库简介 JXL是Java Excel API的简称,它提供了一种直观的方式来与Microsoft Excel文件进行交互。这个库不仅支持读取现有的Excel文件...

Global site tag (gtag.js) - Google Analytics