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的深度解析与应用》 在信息化高度发展的今天,Excel作为数据处理和分析的重要工具,被广泛应用于各个领域。Java作为一种强大的编程语言,如何与Excel进行交互,成为了许多开发者关注的焦点。jxl库...
在描述中提到的"没有需要的jxl jar"可能是指在示例代码中并没有包含jxl的jar文件,因此在运行或复用代码时,你需要自行下载并添加jxl库到你的项目类路径中。 为了实现数据的导入导出,通常的步骤如下: 1. **文件...
为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...
本文将深入探讨如何使用JXL库在Java中导出Excel文件,基于提供的“jxl导出excel实践”主题。 JXL库(Java Excel API)是专门用于读写Microsoft Excel文件的开源库。它支持多种操作,如创建新的工作簿,读取现有工作...
### 使用JXL库导出Excel的关键知识点 #### JXL库简介 JXL(Java Excel API)是一个用于读取和写入Microsoft Excel文件的Java库。它支持多种版本的Excel文件,包括`.xls`格式。使用JXL库进行Excel操作非常方便,特别...
接下来,我们将通过一个简单的示例——`ExcelDemo`,来展示如何使用JXL导出Excel表格。首先,我们需要创建一个`Workbook`对象,这相当于Excel文件中的工作簿。然后,我们可以在这个工作簿上创建多个`Sheet`,每个`...
【标题】"jxl报表 代码应用"涉及的是在Java编程环境中使用jxl库来创建和处理Excel报表的实践案例,特别关注的是如何在SSH(Struts、Hibernate、Spring)框架下集成jxl进行数据展示。 【描述】"jxl实现的SSH架构的...
根据提供的部分代码示例,可以看出以下关键点: - **请求参数获取**:通过`request.getParameter()`方法获取前端传入的参数。 - **日志记录**:使用`log.info()`记录用户输入的起始和结束编码。 - **业务逻辑处理**...
在标签"源码 工具"中,源码可能指的是实现这个功能的Java代码示例,而工具可能指的是jxl库本身,以及可能使用的JDBC驱动,它们都是完成任务的关键部分。 至于文件名"ExcelTest",这可能是测试类或包含测试用例的...
总结起来,"jxl导出excel"涉及的关键知识点包括: 1. JXL库的使用 2. 创建`Workbook`和`Sheet` 3. 添加和操作`Row`和`Cell` 4. 设置单元格的值和格式 5. 动态生成和填充数据 6. 保存并关闭`Workbook` 通过学习和...
"jxl 导入 导出 java"的标签表明这个功能适用于Java环境,并且涵盖了输入和输出两个关键部分。 5. **最佳实践**: - 当处理大量数据时,考虑使用内存优化策略,比如分批读写。 - 为了防止格式丢失,使用`...
标题中的“自己写的JXL的导入导出,绝对可以发布!”表明这是一个关于自研的JXL库用于Excel数据的导入与导出功能...通过阅读提供的教程、源代码和示例,开发者可以深入理解如何高效地使用JXL库进行数据的导入导出。
`jxl`库主要包含以下几个关键类: 1. `Workbook`:这个类代表一个Excel工作簿,相当于Excel文件中的多个工作表的容器。 2. `Sheet`:表示工作簿中的一个工作表,类似于Excel文件中的一页。 3. `Cell`:表示工作表中...
具体到`jxl`的使用,以下是一些关键知识点: 1. **读取Excel文件**:使用`Workbook`类的静态方法`Workbook.getWorkbook(File file)`可以从指定文件加载一个Excel工作簿。然后你可以通过索引访问其中的工作表(Sheet...
在实际应用中,使用jxl-2.6.10.jar包时,需要将其添加到项目的类路径中,这样就可以在代码中直接引用jxl的类和方法。需要注意的是,虽然jxl库在处理小规模数据时表现出色,但对于大规模数据,由于内存限制,可能会...
本文将深入探讨JXL API,帮助你了解并熟练掌握这一关键工具。 JXL全称为Java Excel API,是一个开源库,专门用于读写Microsoft Excel格式的文件。由于Excel文件格式的复杂性,手动处理往往十分繁琐,而JXL API则...
以下是关于使用jxl库进行Java Excel操作的一些关键知识点: 1. **jxl库介绍**: jxl库是一个Java API,用于读写Microsoft Excel格式的文件。它支持多种Excel功能,如单元格样式、公式、图像和多工作表操作。jxl库...
本文将详细介绍如何使用Java的两个库,jxl和Apache POI,来实现单个和多个工作簿的Excel导出。 首先,我们来看jxl库。jxl是Java Excel API的简称,它允许Java程序读写Excel文件。在单个工作簿的导出中,jxl库提供了...
在压缩包中的文件“数据导入导出xls(jxl)”很可能包含了示例代码或者教程,展示了如何使用jxl库进行上述操作。对于初学者,通过研究这些示例可以快速掌握jxl的用法。在开发过程中,注意处理可能出现的异常,比如文件...
本文将深入探讨JXL库的关键特性、使用方法以及在实际项目中的应用场景。 ### JXL库简介 JXL是Java Excel API的简称,它提供了一种直观的方式来与Microsoft Excel文件进行交互。这个库不仅支持读取现有的Excel文件...