【java】:生成excel
//生成报表公用方法
//excelName: 生成的文件名
//list:时间/日期/描述
//listSelectFiled: 标题
//showContent : 文件内容bean
//生成报表公用方法 public String createExcelFile(String excelName,List<String[]> listSelectField,String[] fields,List<String[]> showContent){ HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); //设置背景颜色 //setBorder.setFillBackgroundColor((short)13); //setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //设置边框 setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN); setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN); setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN); //设置居中 setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中 //设置字体 HSSFFont font = wb.createFont(); font.setFontName("黑体"); font.setFontHeightInPoints((short)16);//设置字体大小 HSSFFont font3 = wb.createFont(); font3.setFontName("宋体"); //font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示 font3.setFontHeightInPoints((short)14);//设置字体大小 HSSFFont font2 = wb.createFont(); font2.setFontName("宋体"); //font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示 font2.setFontHeightInPoints((short)12);//设置字体大小 setBorder.setFont(font); //选择需要的字体 //设置列宽 for (int i = 0; i < fields.length; i++) { sheet.setColumnWidth((short)i, (short)4000); } //所有内容居中显示的 样式(内容部分) HSSFCellStyle cellstyle = wb.createCellStyle(); cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中 cellstyle.setFont(font2); HSSFCellStyle selestyle = wb.createCellStyle(); selestyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//居中 selestyle.setFont(font2); //合并单元格 Region region = new Region(0,(short)0,0,(short)14); sheet.addMergedRegion(region); //第一行标题 HSSFRow row1 = sheet.createRow(0); row1.setHeight((short)500); HSSFCell celltitle = row1.createCell((short)0); celltitle.setCellType(HSSFCell.CELL_TYPE_STRING); celltitle.setCellValue(excelName); celltitle.setCellStyle(setBorder); //合并单元格 int ce = 0; for (int i = 0; i < listSelectField.size(); i++) { sheet.addMergedRegion(new Region(1,(short)ce,1,(short)(++ce))); ce+=2; } //第二行查询条件 ce=0; HSSFRow row2 = sheet.createRow(1); row2.setHeight((short)300); for (int i = 0; i < listSelectField.size(); i++) { HSSFCell selectfields1 = row2.createCell((short)ce); selectfields1.setCellType(HSSFCell.CELL_TYPE_STRING); selectfields1.setCellValue(listSelectField.get(i)[0]+":"+listSelectField.get(i)[1]); selectfields1.setCellStyle(cellstyle); ce+=3; } //需要显示的字段名称 HSSFRow row3 = sheet.createRow(2); int index= 0; for(String str : fields){ HSSFCell cell = row3.createCell((short)index); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(str); cell.setCellStyle(cellstyle); index++; } //需要显示的内容 for (int i = 0; i < showContent.size(); i++) { HSSFRow row = sheet.createRow(i+3); String[] content = showContent.get(i); for(int j = 0;j<content.length;j++){ HSSFCell cell = row.createCell((short)j); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(content[j]); cell.setCellStyle(cellstyle); } } String destFileName = StringUtil.getNowDateFormat(null); String fileName = excelName+"("+destFileName+").xls"; System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"+fileName); try { String saveurl = PathManager.getWEBINFPath()+java.io.File.separator+".."+java.io.File.separator+"ucstar_plugins"+java.io.File.separator+"ucstarwebcall"+java.io.File.separator+"reportfile"+java.io.File.separator+""; File fileurl = new File(saveurl); if(!fileurl.exists()){ fileurl.mkdirs(); } File f = new File(saveurl+java.io.File.separator+fileName); System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<"+saveurl+java.io.File.separator+fileName); f.createNewFile(); FileOutputStream fos = new FileOutputStream(f); wb.write(fos); fos.close(); Log.console(">>>>>>>生成Excel成功!"); } catch (Exception e) { Log.console(">>>>>>>生成Excel失败:"+e.getMessage()); return ""; } return fileName; } }
【java】:生成excel的更多相关文章
- java 生成Excel开门篇
本随笔的Excel所用的poi jar包(3.17版本)链接: https://pan.baidu.com/s/1gaa3dJueja8IraUDYCSLIQ 提取密码: 9xr7 简单实现:两个类: ...
- oracle PL/SQL调用Java生成Excel
现在有个需求, 要求编写oracle存储过程生成Excel文件到指定目录, 但是oracle自己的API貌似不太给力, 所以只能通过另一种更强大的语言来实现了 ——Java.有一个Java框架 ...
- JAVA生成EXCEL模板
JAVA生成excel模板,支持1.必填字段前加 红色 * 2.定义可选值下拉列表 valList3.定义名称并通过名称设置可选值 refName(名称在sheet2,sheet2自动隐藏)4.支持设 ...
- 两种方式实现java生成Excel
Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...
- Java生成excel导出文件(使用poi+JXL)
1.使用poi生成文件 package com.mi.entity; import java.util.Date; public class Student { private int id; pri ...
- [转]java生成 excel 并导出文件
原文:https://blog.csdn.net/xunwei0303/article/details/53213130 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta P ...
- java生成excel报表文件
此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...
- java生成excel,word文件
第一部分: 在网站开发中,用户可能需要打印word或者excel表,这种需求是非常多的. java语言生成excel表格和python的方式有点像,使用Apache POI的组件,一通全通.开发过程通 ...
- JAVA生成EXCEL图表
跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...
- java生成excel
package test.poi; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; ...
随机推荐
- java byte转无符号int
import java.io.ByteArrayInputStream; public class Test{ public static void main(String[] args) { byt ...
- 每天一个 Linux 命令(13):less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性. 在 more 的时候,我们并没有办法向前面 ...
- intellJ实用技巧
常用语句 在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm. 在方法体内部有for循环,在In ...
- Win32编程:窗口类样式+窗口外观样式+窗口显示样式
1.窗口类样式WNDCLASS.style CS_VREDRAW 提供窗口位置变化事件和高度变化事件的处理程序,功能是重绘窗口 CS_HREDRAW 提供窗口位置变化事件和宽度变化事件的处理程序,功能 ...
- I2C控制器的Verilog建模之二
前言:接着上一篇的I2C写操作,今天要实现一个I2C的读操作.虽然在ADV7181B配置内部寄存器时没有必要使用到读操作,但是为了进一步确认寄存器是否在I2C写模块下被正确配置,这一步是必不可少的. ...
- 手机app测试框架
1.冒烟测试 一般使用mokey或其他自动化测试工具进行测试,保证软件的健壮性和可测性. 2.安装.卸装测试 直接在真机上安装.卸装(adb install 或 adb push到手机上直接安装) 第 ...
- tomcat + apache +jkmod 配置php,jsp共存
httpd.conf ##############################################################################配置phpLoadMo ...
- 9.S5PV210的时钟系统
1.时钟域:MSYS.DSYS.PSYS(1)因为S5PV210的时钟体系比较复杂,内部外设模块太多,因此把整个内部的时钟划分为3大块,叫做3个域.(2)MSYS: CPU(Cortex-A8内核). ...
- Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS(一)
不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs5; import java.io.IOException; import ja ...
- 块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解
CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inli ...