- 浏览: 79800 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
尹超5200:
你TM写点文字能死啊
java图片上传回显(火狐待测) -
shibin_1109:
如果冲突没更新下来的话也可以使用git同步来解决.
Eclips GIT冲突解决
导出Excel表格 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import java.io.FileOutputStream; import java.io.FileInputStream; public class CreateXL { public static String xlsFile="test.xls"; //产生的Excel文件的名称 public static void main(String args[]) { try { HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象 HSSFSheet sheet = workbook.createSheet(); //产生工作表对象 //设置第一个工作表的名称为firstSheet //为了工作表能支持中文,设置字符编码为UTF_16 workbook.setSheetName(0,"firstSheet",HSSFWorkbook.ENCODING_UTF_16); //产生一行 HSSFRow row = sheet.createRow((short)0); //产生第一个单元格 HSSFCell cell = row.createCell((short) 0); //设置单元格内容为字符串型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); //为了能在单元格中写入中文,设置字符编码为UTF_16。 cell.setEncoding(HSSFCell.ENCODING_UTF_16); //往第一个单元格中写入信息 cell.setCellValue("测试成功"); FileOutputStream fOut = new FileOutputStream(xlsFile); workbook.write(fOut); fOut.flush(); fOut.close(); System.out.println("文件生成..."); //以下语句读取生成的Excel文件内容 FileInputStream fIn=new FileInputStream(xlsFile); HSSFWorkbook readWorkBook= new HSSFWorkbook(fIn); HSSFSheet readSheet= readWorkBook.getSheet("firstSheet"); HSSFRow readRow =readSheet.getRow(0); HSSFCell readCell = readRow.getCell((short)0); System.out.println("第一个单元是:" + readCell.getStringCellValue()); } catch(Exception e) { System.out.println(e); } } } 与数据库结合使用 使用POI,结合JDBC编程技术,我们就可以方便地将数据库中的数据导出生成Excel报表。其关键代码如下: /*把数据集rs中的数据导出至Excel工作表中。 *传入参数:数据集rs,Excel文件名称xlsName,工作表名称sheetName。 */ public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); workbook.setSheetName(0,sheetName,HSSFWorkbook.ENCODING_UTF_16); HSSFRow row= sheet.createRow((short)0);; HSSFCell cell; ResultSetMetaData md=rs.getMetaData(); int nColumn=md.getColumnCount(); //写入各个字段的名称 for(int i=1;i<=nColumn;i++) { cell = row.createCell((short)(i-1)); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue(md.getColumnLabel(i)); } int iRow=1; //写入各条记录,每条记录对应Excel中的一行 while(rs.next()) {row= sheet.createRow((short)iRow);; for(int j=1;j<=nColumn;j++) { cell = row.createCell((short)(j-1)); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue(rs.getObject(j).toString()); } iRow++; } FileOutputStream fOut = new FileOutputStream(xlsName); workbook.write(fOut); fOut.flush(); fOut.close(); JOptionPane.showMessageDialog(null,"导出数据成功!"); } POI功能强大,还可以设置单元格格式、设置页眉页脚等. 导出Excel表格 package zjx; import java.io.FileOutputStream; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import dao.ProductDao; import dao.impl.ProductDaoImpl; import entity.Product; import jxl.*; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.CellFormat; import jxl.write.Boolean; import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class DemoXls { /** * 数据库导出至Excel表格 */ public static void main(String[] args) { // 准备设置excel工作表的标题 String[] title = {"编号","产品名称","产品类型","计量类型"}; try { // 获得开始时间 long start = System.currentTimeMillis(); // 输出的excel的路径 String filePath = "e:\\testJXL2.xls"; // 创建Excel工作薄 WritableWorkbook wwb; // 新建立一个jxl文件,即在e盘下生成testJXL.xls OutputStream os = new FileOutputStream(filePath); wwb=Workbook.createWorkbook(os); // 添加第一个工作表并设置第一个Sheet的名字 WritableSheet sheet = wwb.createSheet("产品清单", 0); Label label; for(int i=0;i<title.length;i++){ // Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z // 在Label对象的子对象中指明单元格的位置和内容 label = new Label(i,0,title[i]); // 将定义好的单元格添加到工作表中 sheet.addCell(label); } // 下面是填充数据 /* * 保存数字到单元格,需要使用jxl.write.Number * 必须使用其完整路径,否则会出现错误 * */ ProductDao dao=new ProductDaoImpl(); List<Product> list=dao.queryAll(); for(int i=0;i<list.size();i++){ sheet.setRowView(i,400); // 填充产品编号 jxl.write.Number number = new jxl.write.Number(0,i+1,list.get(i).getProductId()); sheet.addCell(number); // 填充产品名称 label = new Label(1,i+1,list.get(i).getProductName()); sheet.addCell(label); jxl.write.Number type = new jxl.write.Number(2,i+1,list.get(i).getProductTypeId()); sheet.addCell(type); jxl.write.Number measure = new jxl.write.Number(3,i+1,list.get(i).getMeasureTypeId()); sheet.addCell(measure); Label label2 = new Label(1,i+1,list.get(i).getSource()); sheet.addCell(label2); } // 写入数据 wwb.write(); // 关闭文件 wwb.close(); long end = System.currentTimeMillis(); System.out.println("----完成该操作共用的时间是:"+(end-start)/1000); } catch (Exception e) { System.out.println("---出现异常---"); e.printStackTrace(); } } }
下载excel表格
public String exportReport(){ accounts = (SysAccounts) getRequest().getSession().getAttribute( "SYSaccount"); if (!"".equals(accounts) && null!= accounts ) { String fp = "/report/posquery/"; Long file = (new Date()).getTime(); System.out.print("开始报表下载"); Map map=null; listmap=new ArrayList<Map>(); List datelist=Dateutil.datelist(ymouse);//得到日期 String hql="from "+Orgbank.class.getName()+" where bankno='"+bankno+"'"; List lists=bankbfjreportService.find(hql); if(lists!=null&&lists.size()>0){ bankacct=(Orgbank) lists.get(0); } System.out.print(sql); list=bankbfjreportService.getListFromSQL(sql); Double bbputamt=0.0; Double bbputfeeamt=0.0; Double qbputamt=0.0; Double qbputfeeamt=0.0; Double bysputamt=0.0; Double bysputfeeamt=0.0; Integer trandate1=0; for(int i=1;i<=datelist.size();i++){ map=new HashMap(); map.put("date", i); if(list!=null&&list.size()>0){ Object[] obj=null; int kk=0; for(int j=0;j<list.size();j++){ if(null!=obj[0]){ String date=obj[0].toString(); date=date.substring(7, 8); trandate1=Integer.valueOf(date); } if(null!=obj[1]){ bbputamt=Double.valueOf(obj[1].toString()); } if(null!=obj[2]){ bbputfeeamt=Double.valueOf(obj[2].toString()); } if(null!=obj[3]){ qbputamt=Double.valueOf(obj[3].toString()); } if(null!=obj[4]){ qbputfeeamt=Double.valueOf(obj[4].toString()); } if(null!=obj[5]){ bysputamt=Double.valueOf(obj[5].toString()); } if(null!=obj[6]){ bysputfeeamt=Double.valueOf(obj[6].toString()); } if(i==trandate1){ kk+=1; map.put("A01", bbputamt); map.put("A02", bbputfeeamt); map.put("A03", qbputamt); map.put("A04", qbputfeeamt); map.put("A05", bysputamt); map.put("A06", bysputfeeamt); map.put("A07", 0); map.put("A08", 0); map.put("A09", 0); map.put("A10", 0); map.put("A11", 0); map.put("A12", 0); map.put("A13", 0); map.put("A14", 0); } } if(kk!=1){ map.put("A01", 0); map.put("A02", 0); map.put("A03", 0); map.put("A04", 0); map.put("A05", 0); map.put("A06", 0); map.put("A07", 0); map.put("A08", 0); map.put("A09", 0); map.put("A10", 0); map.put("A11", 0); map.put("A12", 0); map.put("A13", 0); map.put("A14", 0); listmap.add(map); } }else{ map.put("A01", 0); map.put("A02", 0); map.put("A03", 0); map.put("A04", 0); map.put("A05", 0); map.put("A06", 0); map.put("A07", 0); map.put("A08", 0); map.put("A09", 0); map.put("A10", 0); map.put("A11", 0); map.put("A12", 0); map.put("A13", 0); map.put("A14", 0); System.out.println(map.get("date")+"---------------"); listmap.add(map); } } if (listmap.size() > 65000) { setMessage("<script>alert('所选择日期范围内记录数大于65000条,不允许下载!');location.href='pro.do';</script>"); return ERROR; } ZfrjdetailAction ce = new ZfrjdetailAction(); ce.createExcel(bankbfjreportService,ymouse,bankno,getRequest(), listmap, fp, file.toString() + ".xls"); String path = fp + file.toString() + ".xls"; try { HttpServletResponse response = this.getResponse(); response.setCharacterEncoding("UTF-8"); PrintWriter o = response.getWriter(); StringBuffer ou = new StringBuffer(); // ou.append("<script>alert('asdf');location.href='/giftweb/Downlaod'</script>"); ou.append("<script>top.location.href='/giftweb/Downlaod?file=" + path + "';history.go(-1);</script>"); // ou.append("<script>location.href='/Downlaod?file=/report/posquery/1392729094571.xls';hisory.go(-1);</script>"); System.err.println(ou.toString()); o.write(ou.toString()); o.flush(); o.close(); } catch (Exception e) { e.printStackTrace(); } } else { setMessage("<script>alert(\"登陆超时,请重新登陆!\");top.location.href='/giftweb/admin/logining.html';</script>"); return ERROR; } return ERROR; }
设置样式链接:http://zhouhaitao.iteye.com/blog/1842769
发表评论
-
java注解详解
2014-09-22 10:12 710Java中提供了四种元注解,专门负责注解其他的注解,分别如下 ... -
log4j配置文件详解
2014-09-03 16:57 692在实际编程时,要使Log4 ... -
java获取请求用户的ip
2014-09-03 10:48 971/** * 获取请求用户的Ip * @par ... -
java常见的错误
2014-07-31 11:28 586原来见过的一些常见错 ... -
jsp中request详解
2014-07-28 15:10 678System.out.println("Protoc ... -
redis命令总结
2014-07-22 14:27 907public class Redis2 { priva ... -
深入理解JVM 内存模型
2014-07-21 10:54 681http://gotowqj.iteye.com/blog/2 ... -
java拷贝文件
2014-07-17 18:04 614package com.zuidaima.util.fil ... -
java对redis的操作
2014-07-17 17:59 570http://xuelianbobo.iteye.com/bl ... -
java中String Date Timestamp Calendar 之间的关系及转换
2014-07-17 17:34 607SimpleDateFormat sdf = new Simp ... -
java面试三大框架
2014-07-17 16:22 1233------------------------------- ... -
算法,java实现选择排序
2014-06-19 22:57 655一、基本思路: 选择排序和冒泡排序差不多,只是冒泡排序在发 ... -
算法,java实现冒泡排序
2014-06-19 22:54 725一、基本思路: 冒泡排序是一种简单的交换类排序。其基本思路是 ... -
java使用正则判断字符串
2014-06-16 11:19 394String str="http://www.jb5 ... -
struts2和springmvc比较
2014-06-12 00:14 585我们用struts2时采用的传统的配置文件的方式,并没有使用传 ... -
hibernate和mybatis的区别
2014-06-11 23:53 920以前没怎么用过mybatis,只知道与hibernate一样是 ... -
map的四种遍历方法
2014-06-11 23:20 618public static void main(String[ ... -
java模拟post方式提交表单实现图片上传
2014-04-18 15:57 3762package com.yanek.util; im ... -
java遍历文件夹
2014-04-18 15:25 616使用递归: import java.io.File; ... -
javahttp请求
2014-04-17 17:55 629package com.expai.utils; i ...
相关推荐
总结,Java实现Excel导出主要涉及Apache POI库的使用,通过创建工作簿、工作表、行和单元格,设置值和样式,最终将内容写入文件。在处理大数据量时,可以利用SXSSF进行优化。如果有`lyl-utils`这样的工具类,可以...
"java实现excel导出所需要的jar"指的是那些支持Java与Excel交互的第三方库的JAR文件。以下是一些常用的库及其功能: 1. Apache POI:Apache POI 是一个流行的开源项目,它提供了读写Microsoft Office格式文件的能力...
java实现excel导出功能,通过查询数据库指定数据,将数据以excel方式导出的功能 excel导出的功能
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
java导出复杂Excel内容数据动态循环
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
在Java编程环境中,实现Excel导出功能是一项常见的需求,尤其在数据处理和报表生成场景下。Excel导出功能使得程序能够将数据结构化地存储到Excel文件中,方便用户查看、编辑和分析。这里我们将深入探讨Java实现Excel...
Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...
以上就是使用Java和Apache POI实现Excel导出和导入的基本流程。在实际项目中,你可能需要处理更复杂的情况,如多Sheet操作、日期格式转换、自定义样式等。Apache POI提供了丰富的API,足以应对这些需求。记住,始终...
本教程将深入讲解如何使用Java POI实现Excel的导入与导出功能,并结合Java反射技术,构建一个适用于大型项目二次开发的通用框架。 首先,让我们理解Java POI的基本用法。要读取Excel文件,你需要创建一个`...
用Java实现的Excel的导入导出,简洁明了,高质量代码。
Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
在Java编程中,导出复杂的Excel模板是一...熟练掌握Apache POI或其他相关库的用法,结合业务需求,能有效提高工作效率并提供高质量的Excel导出功能。在实际开发中,不断优化代码和策略,可以更好地满足性能和功能需求。
用Java语言采用接口设计模式、代理设计模式、工厂设计模式实现对excel中的表实现基本的导出(写)功能,把一个对象集合输出到一个excel表中。 【基本功能】 将对象集合导出到Excel表 【扩展功能】 1、自由设置表头 2...
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
在Java编程中,导出Excel是一项常见的...通过上述步骤,你可以创建一个能处理带图片的Excel导出的Java程序,适用于各种业务场景。当然,具体的实现代码会涉及更多的细节和具体操作,但以上知识点提供了一个全面的概览。
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出