- 浏览: 76422 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
尹超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 648Java中提供了四种元注解,专门负责注解其他的注解,分别如下 ... -
log4j配置文件详解
2014-09-03 16:57 642在实际编程时,要使Log4 ... -
java获取请求用户的ip
2014-09-03 10:48 903/** * 获取请求用户的Ip * @par ... -
java常见的错误
2014-07-31 11:28 542原来见过的一些常见错 ... -
jsp中request详解
2014-07-28 15:10 634System.out.println("Protoc ... -
redis命令总结
2014-07-22 14:27 867public class Redis2 { priva ... -
深入理解JVM 内存模型
2014-07-21 10:54 650http://gotowqj.iteye.com/blog/2 ... -
java拷贝文件
2014-07-17 18:04 562package com.zuidaima.util.fil ... -
java对redis的操作
2014-07-17 17:59 508http://xuelianbobo.iteye.com/bl ... -
java中String Date Timestamp Calendar 之间的关系及转换
2014-07-17 17:34 564SimpleDateFormat sdf = new Simp ... -
java面试三大框架
2014-07-17 16:22 1184------------------------------- ... -
算法,java实现选择排序
2014-06-19 22:57 604一、基本思路: 选择排序和冒泡排序差不多,只是冒泡排序在发 ... -
算法,java实现冒泡排序
2014-06-19 22:54 667一、基本思路: 冒泡排序是一种简单的交换类排序。其基本思路是 ... -
java使用正则判断字符串
2014-06-16 11:19 350String str="http://www.jb5 ... -
struts2和springmvc比较
2014-06-12 00:14 565我们用struts2时采用的传统的配置文件的方式,并没有使用传 ... -
hibernate和mybatis的区别
2014-06-11 23:53 799以前没怎么用过mybatis,只知道与hibernate一样是 ... -
map的四种遍历方法
2014-06-11 23:20 586public static void main(String[ ... -
java模拟post方式提交表单实现图片上传
2014-04-18 15:57 3708package com.yanek.util; im ... -
java遍历文件夹
2014-04-18 15:25 584使用递归: import java.io.File; ... -
javahttp请求
2014-04-17 17:55 586package com.expai.utils; i ...
相关推荐
简单的java实现Excel导出,可以借鉴
java实现excel导出功能,通过查询数据库指定数据,将数据以excel方式导出的功能 excel导出的功能
java实现excel导出所需要的jar
java实现excel导出导入
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!
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实现Excel导入导出是通过Java语言编写的程序,将数据从Excel文件中读取或写入到Excel文件中。这种方式可以实现数据的批量处理和分析,提高工作效率。 Java实现Excel导入导出的应用...
用Java语言采用接口设计模式、代理设计模式、工厂设计模式实现对excel中的表实现基本的导出(写)功能,把一个对象集合输出到一个excel表中。 【基本功能】 将对象集合导出到Excel表 【扩展功能】 1、自由设置表头 2...
java_poi实现excel导入导出功能,有详细的注解
需要使用JAVA 做EXCEL导出的同学,有问题尽管私信
java poi 实现excel的导入与导出,使用java反射获取类,通用导入与导出适合二次开发的一个大型项目框架
用Java实现的Excel的导入导出,简洁明了,高质量代码。
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
java Excel导出 Excel数据处理
Java实现Excel导入导出功能网络搜集,很好用
Java实现excel文档数据导入数据库、导出excel
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出
利用POI实现Excel导入导出java实现
java实现导出excel功能,可稍作修改移值到网页上进行数据导出