内容包括,内容导出为excel格式,以及生成以后此excel的下载和删除。
首先定义方法,将要导出的数据通过参数传输过来:
1、创建Excel文件:
- String fileName = "C:\\统计数据"+startDate2+"-"+endDate2+".xls";
- WritableWorkbook workbook =Workbook.createWorkbook(new File(fileName));
2、创建数据样式:
- //字体:
- //字体大小,字体类型。
- WritableFont wr = newWritableFont(WritableFont.TIMES,14,WritableFont.BOLD);
- //创建字体样式引用
- WritableCellFormat fontFormat1 = new WritableCellFormat(wr);
- //对其方式
- fontFormat1.setAlignment(jxl.format.Alignment.CENTRE);
- //是否有边框
- fontFormat1.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
- //时间:
- jxl.write.DateFormat df = newjxl.write.DateFormat("yyyy-MM-dd");
- WritableCellFormat dateFormat = new WritableCellFormat(df);
- dateFormat.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
- dateFormat.setAlignment(jxl.format.Alignment.CENTRE);
- //数字:
- jxl.write.NumberFormat nf = newjxl.write.NumberFormat("###,###,###,###,###");
- WritableCellFormat numberFormat = new WritableCellFormat(nf);
- numberFormat.setAlignment(jxl.format.Alignment.CENTRE);
- numberFormat.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
- //建立第N个sheet
- WritableSheet sheet = workbook.createSheet("名称",N);
- //sheet的第几列,和列宽。
- sheet.setColumnView(0,6);
- sheet.setColumnView(1,14);
- sheet.setColumnView(2,12);
- //合并单元格(起始列,起始行,结束列,结束行)
- sheet.mergeCells(1,0,2,0);
- //向sheet中写入数据(列,行,内容,格式)
- Label label0 = new Label(1,0,"1992-04-06",dateFormat);
- sheet.addCell(label0);
- Label label2 = new Label(1,1,"许阳",fontFormat2);
- sheet.addCell(label2);
- Label label3 = new Label(2,1,"21",numberFormat1);
- sheet.addCell(label3);
- workbook.write();
- workbook.close();
以上excel写入数据完成,并保存到了指定的位置。若是在本地操作,则没问题,若是在服务器上,就得使用java的输入输出流写入到本地(下载)。
调用downLoadFile方法。将文件位置用参数传过去。
- this.downLoadFile(fileName);
this.downLoadFile(fileName);
downLoadFile方法:
- public void downLoadFile(String filePth) {
- HttpServletResponse response =ServletActionContext.getResponse();
- HttpServletRequest request =ServletActionContext.getRequest();
- try {
- //得到当前路径
- //StringfilePath=request.getSession().getServletContext().getRealPath(File.separator);
- File temFile = new File(filePth);
- //判断文件是否存在
- if(!temFile.exists()){
- response.getWriter().write("ERROR:File Not Found");
- return ;
- }
- //处理文件名得位置(若服务器为linux和windows的处理方法不同)
- String fileName =filePth.substring(filePth.lastIndexOf(File.separator)+1);
- //设置头文件,名称和内容的编码不同,否则会出现乱码。
- response.setHeader("Content-Disposition", "attachment; filename="+new String((fileName).getBytes("gbk"),"iso8859-1"));
- response.setContentType("application/x-download");
- OutputStream ot=response.getOutputStream();
- BufferedInputStream bis = newBufferedInputStream(new FileInputStream(temFile));
- BufferedOutputStream bos = new BufferedOutputStream(ot);
- byte[] buffer = new byte[4096];
- int length = 0;
- while((length = bis.read(buffer)) > 0){
- bos.write(buffer,0,length);
- }
- bos.close();
- bis.close();
- ot.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
此时就会下载完成,完成后需要在服务器删除此Excel文件:
在this.downLoadFile方法后面继续调用删除的方法:
- public boolean deleteFile(String sPath) {
- boolean flag = false;
- //处理文件路径,将"/"替换成计算机识别的"\\"
- sPath =sPath.replace("/",File.separator);
- File file = newFile(sPath);
- // 路径为文件且不为空则进行删除
- if (file.isFile()&& file.exists()) {
- file.delete();
- flag = true;
- }
- returnflag;
- }
执行所有代码完成后,实现了excel的生成,下载以及删除功能,可能实际应用不会如此麻烦,这里只是列出方法,每个功能都可单独使用,举一而反三。
相关推荐
包括jar包,以及Java写的小程序用于读取本地excel文件,还有相关的API,以及Web应用导出Excel报表的简单实现
测试过的小程序,保证好使,jsp 小程序 实现excel导入orcale,自定义选择导入文件,orcale导出excel自定义选择导出路径,并且可查询文件夹中的所有文件名列表,并且可以通过程序删除文件。
web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....
java实现删除excel内容之间空行,需要导入皮包。
基于SSM的POI导入导出Excel实战 基于ssm框架的poi导入导出excel-mvc模式体验-增加删除修改搜索
利用java导入导出excel到oracle数据库需要用到的jar包 用到的JAR包如下(可以直接到POI官网上下载也可以在文章的附件中下载): poi-3.9-20121203.jar poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203....
②管理员可以实现学生注册的管理,统一注册,统一注销等等,值得一提的是,这个地方使用了Excel技术,支持管理员通过Excel文件进行导入注册,同时支持所有用户的信息进行Excel文件的导出。技术大同小异,所以感兴趣...
5. 导出与导入:管理员可以导出学生成绩数据为Excel或其他格式的文件,方便进行数据备份和分享。管理员也可以从文件中导入成绩数据,快速录入大量成绩信息。 6. 权限管理:系统可以管理用户的权限,确保只有合适的...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
3.支持通讯录以Excel文件格式导入导出操作。 4.界面支持全键盘操作,即不用鼠标也能完成该系统的所有功能。 5.查询统计功能,能够按照籍贯、专业等条件统计分析,并且以图表的方式展现。 6.界面及相应功能可以...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
4. 从testlink中导出测试套件或测试用例(xml文件),使用上述工具将xml文件转换成格式合适的excel文件; 5. 按照指定格式在excel中编写测试用例(格式与第4点中转换得到的excel格式一致即可),使用上述工具将excel...
文件、xml 文件、vCard 文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: ( 1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 ( 2)...
让你一看即明,在此项目中还加入了权限控制,已经完善,有需要的朋友可以参考也可直接使用,还有Mybatis技术以及导出Excel通用方法,通用类有需要的朋友可以下下来直接使用,以及RestFUL风格增删改查,以及前端各种...
能够根据系统中的出租记录以及维修记录自动导出日、月、季度、年度的财务报表,并将生成的财务报表导出为 Excel 文件。 补充说明:需要对系统管理员进行分级管理,对租车客户进行会员制管理。 租车用户: 能够修改...
6、员工信息的增加、修改、删除、查询以及员工头像异步上传、员工信息导出至Excel文件 7、自定义分页标签实现(24种样式随意切换) 8、代码机器人使用等等 其他实战项目:java项目实战之电商系统全套(前台和后台)...
3.支持通讯录以Excel文件格式导入导出操作。 4.界面支持全键盘操作,即不用鼠标也能完成该系统的所有功能。 5.查询统计功能,能够按照籍贯、专业等条件统计分析,并且以图表的方式展现。 6.界面及相应功能可以...