Logexport
package org.ld.zjchannels.export;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.ld.zjchannels.bean.ActionLog;
import org.ld.zjchannels.utils.DateEx;
public class Logexport {
public void writeExcel(List list,String no)
{
try {
//构建一个输出流
FileOutputStream Fileops=new FileOutputStream(no);
//实例化一个工作薄
HSSFWorkbook hssfwb=new HSSFWorkbook();
HSSFFont headFont =hssfwb.createFont();
headFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
headFont.setFontHeightInPoints((short)10); //字体大小
headFont.setColor(HSSFFont.COLOR_RED); //字体颜色 注意使用HSSFont下的颜色常
HSSFCellStyle normalStyle = hssfwb.createCellStyle();
normalStyle.setFont(headFont);//设置字体
//normalStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
//normalStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
//normalStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//设置工作薄的名称
HSSFSheet hssfs=hssfwb.createSheet("业务日志");
hssfs.setColumnWidth((short)1,(short)5000);// 设置单元格宽度
hssfs.setColumnWidth((short)2,(short)5000);
hssfs.setColumnWidth((short)3,(short)5000);
hssfs.setColumnWidth((short)4,(short)7000);
hssfs.setColumnWidth((short)5,(short)4000);
hssfs.setColumnWidth((short)6,(short)4000);
hssfs.setColumnWidth((short)7,(short)4000);
HSSFRichTextString s=null;
HSSFRow hsr=hssfs.createRow(0);
s=new HSSFRichTextString("日志编号");
HSSFCell cell0=hsr.createCell((short)0);
cell0.setCellStyle(normalStyle);
cell0.setCellValue(s);
s=new HSSFRichTextString("推荐者号码");
HSSFCell cell1=hsr.createCell((short)1);
cell1.setCellStyle(normalStyle);
cell1.setCellValue(s);
s=new HSSFRichTextString("办理号码");
HSSFCell cell2=hsr.createCell((short)2);
cell2.setCellStyle(normalStyle);
cell2.setCellValue(s);
s=new HSSFRichTextString("业务名称");
HSSFCell cell4=hsr.createCell((short)3);
cell4.setCellStyle(normalStyle);
cell4.setCellValue(s);
s=new HSSFRichTextString("备注信息");
HSSFCell cell7=hsr.createCell((short)4);
cell7.setCellStyle(normalStyle);
cell7.setCellValue(s);
s=new HSSFRichTextString("推荐或办理时间");
HSSFCell cell8=hsr.createCell((short)5);
cell8.setCellStyle(normalStyle);
cell8.setCellValue(s);
//s=new HSSFRichTextString("计算");
//hsr.createCell((short)7).setCellValue(s);
//hsr.createCell((short)6).setCellStyle();
int i=1;//设置行号,从0开始,因为第一行被表头占据;所以从1开始的
for(int b=0;b<list.size();b++)
{
Map map= (HashMap)list.get(b);
//动态创建行;
HSSFRow row=hssfs.createRow(i);
//创建单元格
HSSFCell cell=row.createCell((short)0);
s=new HSSFRichTextString(map.get("LOGNO")+"");
row.createCell((short)0).setCellValue(s);
s=new HSSFRichTextString(map.get("LOGRECOMMENDTEL")+"");
row.createCell((short)1).setCellValue(s);
s=new HSSFRichTextString(map.get("LOGTELEPHONE")+"");
row.createCell((short)2).setCellValue(s);
s=new HSSFRichTextString(map.get("PRONAME")+"");
row.createCell((short)3).setCellValue(s);
s=new HSSFRichTextString(map.get("LOGREMARK")+"");
row.createCell((short)4).setCellValue(s);
s=new HSSFRichTextString(map.get("LOGTIME")+"");
row.createCell((short)5).setCellValue(s);
// cell = row.createCell((short)7);
//执行Excel公式
// cell.setCellFormula("SUM(A"+(i+1)+":E"+(i+1)+")");
//System.out.println("SUM(A"+(i+1)+":E"+(i+1)+")");
i++;
}
hssfwb.write(Fileops);
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Action中实现下载Excel代码
Logexport logexprt=new Logexport();
String no=request.getRealPath("upload/exportFile")+"\\"+CheckData.createId()+".xls";
logexprt.writeExcel(page.getItems(), no);
SmartUpload su=new SmartUpload();
su.initialize(this.getServlet().getServletConfig(),request,response);
su.setContentDisposition(null);
su.downloadFile(no);
return null;
HSSFCellStyle cellStyle= wookBook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cellStyle.setBorderBottom(HSSFCellStyle.BorderBORDER_MEDIUM);
cellStyle.setBottomBorderColor(HSSFColor.BLACK.index);
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
cellStyle.setLeftBorderColor(HSSFColor.BLACK.index);
cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
cellStyle.setRightBorderColor(HSSFColor.BLACK.index);
cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
cellStyle.setTopBorderColor(HSSFColor.BLACK.index);
sheet.autoSizeColumn(( short ) 0 ); // 调整第一列宽度
sheet.autoSizeColumn(( short ) 1 ); // 调整第二列宽度
sheet.autoSizeColumn(( short ) 2 ); // 调整第三列宽度
sheet.autoSizeColumn(( short ) 3 ); // 调整第四列宽度
分享到:
相关推荐
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...
"poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...
在使用Apache POI导出Excel时,首先需要创建一个`XSSFWorkbook`对象作为工作簿,然后通过工作簿创建`XSSFSheet`对象代表工作表。例如: ```java XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet =...
Java实现POI导出Excel是Java开发者常用的一种技术,用于生成和操作Microsoft Office Excel文件。在Java中,Apache POI库提供了对微软Office文档格式的支持,包括读取和写入Excel文件。这篇博客文章...
提供的`导出EXCEL.docx`文档可能包含了使用POI导出Excel的代码示例。这个文档通常会详细解释每一步操作,包括如何读取数据、如何设置单元格格式以及如何保存文件。 8. **依赖安装** 要使用Apache POI,你需要在...
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...
本篇文章将详细介绍如何使用JAVA POI导出Excel。 一、准备工作 在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
POI导出Excel参考方法 POI(Poor Obfuscation Implementation)是一个Java的API,用于操作Microsoft Office文档,包括Excel、Word、PowerPoint等。下面是POI导出Excel参考方法的相关知识点: 1. POI的基本概念 ...
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
在本示例中,"poi导出excel demo"指的是使用Apache POI库创建和导出Excel文件的演示。这个项目可能包含了一个或多个Java源代码文件,展示了如何使用POI API来生成Excel工作簿、工作表、单元格等内容。 Apache POI ...
Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI...
本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...
4. **导出Excel**:最后,`jxls-poi`会生成一个新的Excel文件,其中包含了从JSON数据填充后的内容。你可以选择保存到本地或者直接通过HTTP响应发送给用户下载。 具体代码示例可能如下: ```java import org.jxls....