- 浏览: 1588809 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
//字体背景颜色 边框的设置
http://blog.csdn.net/sinat_34093604/article/details/53432545
http://blog.csdn.net/hantiannan/article/details/5312133
http://blog.csdn.net/sinat_34093604/article/details/53432545
http://blog.csdn.net/hantiannan/article/details/5312133
private String productEcel(List<BiUserAction> list) throws Exception { // 创建工作表和标题 HSSFWorkbook workbook = null; try { workbook = new HSSFWorkbook(); } catch (Exception e) { e.printStackTrace(); } int rowIndex=0; HSSFSheet sheet = workbook.createSheet("贝壳奖励统计"); // 创建工作区 /* HSSFRow row_title = sheet.createRow(0); // 创建一行引用对象 HSSFFont title_font = workbook.createFont(); // 创建标题的字体 title_font.setFontHeightInPoints((short) 8); title_font.setFontHeight((short) HSSFFont.BOLDWEIGHT_NORMAL); title_font.setColor((short) (HSSFFont.COLOR_NORMAL)); HSSFCellStyle title_style = workbook.createCellStyle();// 创建样式 title_style.setFont(title_font); title_style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //合并 第一个的 0 到 3 的单元格 Region region=new Region(0,(short)0,0,(short)3); sheet.addMergedRegion(region); HSSFCell cell_title = row_title.createCell((short) 0);// 创建单元格引用对象 cell_title.setCellStyle(title_style); cell_title.setCellValue("贝壳奖励统计");*/ // 创建数据表头 String titles[] = { "序号", "奖励项目", "贝壳总数", "经验总数"}; //定义字体 HSSFFont celltbnamefont = workbook.createFont(); celltbnamefont.setFontHeightInPoints((short) 12); //字体大小 celltbnamefont.setColor((short) (HSSFFont.COLOR_NORMAL)); //颜色 celltbnamefont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //粗体 //定义列的样式 HSSFCellStyle items_style = workbook.createCellStyle(); items_style.setAlignment((short) HSSFCellStyle.ALIGN_CENTER); //设置对其方式 items_style.setFont(celltbnamefont); items_style.setWrapText(true); //设置自动换行 HSSFRow row = sheet.createRow((short) rowIndex); //加入 标题 for (int i = 0; i < titles.length; i++) { HSSFCell cell = row.createCell(i,Cell.CELL_TYPE_STRING); //设置 列类型 if (i == 1 || i == 3 || i == 2 || i == 5) { sheet.setColumnWidth(i, 5335); }else{ //sheet.setColumnWidth((short) i, (short) 3335); sheet.setColumnWidth(i, 3335); } cell.setCellValue(titles[i]); cell.setCellStyle(items_style); } //定义 date 的数据样式 HSSFCellStyle datestyle = workbook.createCellStyle(); HSSFDataFormat df = workbook.createDataFormat(); datestyle.setAlignment((short) HSSFCellStyle.ALIGN_LEFT); datestyle.setDataFormat(df.getFormat("yyyy-mm-dd hh:mm:ss")); //定义 int 的数据样式 HSSFCellStyle intdatestyle = workbook.createCellStyle(); intdatestyle.setAlignment((short) HSSFCellStyle.ALIGN_LEFT); //定义 float 的数据样式 HSSFCellStyle floatdatestyle = workbook.createCellStyle(); floatdatestyle.setAlignment((short) HSSFCellStyle.ALIGN_LEFT); df = workbook.createDataFormat(); floatdatestyle.setDataFormat(df.getFormat("#.##")); //定义 long 的数据样式 HSSFCellStyle longdatestyle = workbook.createCellStyle(); longdatestyle.setAlignment((short) HSSFCellStyle.ALIGN_LEFT); HSSFCell cell; Iterator<BiUserAction> it =list.iterator(); while (it.hasNext()) { HSSFRow dataRow = sheet.createRow((short) (++rowIndex)); BiUserAction userAction = it.next(); cell = dataRow.createCell(0,Cell.CELL_TYPE_NUMERIC); cell.setCellStyle(intdatestyle); cell.setCellValue(rowIndex); cell = dataRow.createCell(1,Cell.CELL_TYPE_STRING); String ruleName = userAction.getRuleName(); cell.setCellValue(ruleName); cell = dataRow.createCell(2,Cell.CELL_TYPE_NUMERIC); cell.setCellStyle(longdatestyle); cell.setCellValue(userAction.getCredits()); cell = dataRow.createCell(3,Cell.CELL_TYPE_NUMERIC); cell.setCellStyle(longdatestyle); cell.setCellValue(userAction.getExperience()); } HSSFRow dataRow = sheet.createRow((short) (++rowIndex)); cell = dataRow.createCell(0,Cell.CELL_TYPE_STRING); cell.setCellStyle(intdatestyle); cell.setCellValue("合计:"); cell = dataRow.createCell(1,Cell.CELL_TYPE_STRING); cell.setCellValue(""); //添加 公式 cell = dataRow.createCell(2,Cell.CELL_TYPE_NUMERIC); cell.setCellStyle(longdatestyle); cell.setCellFormula("SUM(" + getColLetter(2) + sheet.getRow(2).getCell(2).getRowIndex() + ":" + getColLetter(2) +sheet.getRow(sheet.getLastRowNum()).getCell(2).getRowIndex() + ")"); //添加 公式 cell = dataRow.createCell(3,Cell.CELL_TYPE_NUMERIC); cell.setCellStyle(longdatestyle); cell.setCellFormula("SUM(" + getColLetter(3) + sheet.getRow(2).getCell(3).getRowIndex() + ":" + getColLetter(3) +sheet.getRow(sheet.getLastRowNum()).getCell(3).getRowIndex() + ")"); String workDir = this.getServlet().getServletContext().getRealPath("/"); String workddd = workDir.replaceAll("\\\\", "/"); Calendar calendar = Calendar.getInstance(); String month = calendar.get(Calendar.YEAR) + "/"+ (calendar.get(Calendar.MONTH) + 1); String filePath = "newsxls/adxls/" + month + "/"; File f = new File(workDir + filePath); if (!f.isDirectory()) { f.mkdirs(); } String fileNameCode = java.util.UUID.randomUUID().toString(); String completeFilePath = workddd + filePath + fileNameCode + ".xls"; FileOutputStream fileOut = new FileOutputStream(completeFilePath); this.getRequest().getSession(true).setAttribute("completeFilePath", completeFilePath); workbook.write(fileOut); fileOut.flush(); fileOut.close(); return completeFilePath; } /** * 将列的索引换算成ABCD字母,这个方法要在插入公式时用到。 * @param colIndex 列索引。 * @return ABCD字母。 */ private String getColLetter(int colIndex) { String ch = ""; if (colIndex < 26) ch = "" + (char)((colIndex) + 65); else ch = "" + (char)((colIndex) / 26 + 65 - 1) + (char)((colIndex) % 26 + 65); return ch; }
- poi-3.7-20101029.jar (1.6 MB)
- 下载次数: 18
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 995public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2280经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5650package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 980import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1054/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1005//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1822更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1416import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 813import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2396import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 922// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1171import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 800import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1144import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3890import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 964/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1020import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1838Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1001/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2228package out; import ja ...
相关推荐
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
七、导出Excel文件 最后,将Workbook写入OutputStream或File,完成导出: ```java try (FileOutputStream out = new FileOutputStream("output.xlsx")) { workbook.write(out); } catch (IOException e) { e....
Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。...以上就是使用Struts2和Apache POI导出数据到Excel的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整和优化。
使用POI导出Excel文件** 导出Excel文件主要涉及以下几个步骤: - **创建Workbook对象**:这是Excel文件的容器,可以使用`XSSFWorkbook`(针对.xlsx)或`HSSFWorkbook`(针对.xls)创建。 - **创建Sheet对象**:...
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
使用Java POI,可以将图片导出到Excel中,这需要使用到Drawings类和Picture类。首先,需要创建一个Drawings对象,然后使用Drawings对象的addPicture方法将图片添加到Excel中。 3. 使用Java POI下载Excel文件 在示例...
在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...
本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...
java的poi的导入工具类,只需要传入两个arrayList,一个是execl的标题,一个是ececl的数据,就可以直接导出到execl里面,支持最新的execl,全新封装的,让每一个人都会使用poi导出execl!
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
首先,让我们深入理解"struts1"和"poi导出excel"这两个标签。Struts1是Apache软件基金会的一个开源MVC框架,它主要用于构建基于Java的Web应用程序。而Apache POI则是一个用于处理Microsoft Office文档的库,特别是...
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
通过以上步骤,我们成功地实现了使用Apache POI在Java中导出Excel文件,并实现了自动换行的功能。这种方式不仅可以提高工作效率,还能确保数据的准确性和完整性。 #### 六、注意事项与优化建议 - **兼容性问题**:...
poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
在上面的代码中,我们可以看到使用POI导出Excel文档的方法。首先,我们需要创建一个Workbook对象,然后使用Workbook对象创建一个Sheet对象。接着,我们可以使用Sheet对象将数据写入Excel文档中。最后,我们可以使用...
以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...
在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...