public int createDataExcel(DataQueryParameters dataQueryParameters,String newfileName,String fileName,String[] headerKey, boolean showField ) throws IOException{
FileOutputStream out = null;
// String newfileName = fileName+"_"+ DateUtils.getTodayStr("yyyy-MM-dd")+".xlsx";
logger.info("开始进入数据文件导出********");
int recordCount = 0;
try {
//拼接临时文件保存地址
String flieAddress = excleAddress+newfileName;
logger.info("文件保存地址:"+flieAddress);
SXSSFWorkbook wb = new SXSSFWorkbook(Integer.valueOf(batchNum));//内存中保留 10000 条数据,以免内存溢出,其余写入 硬盘
Sheet sheet = wb.createSheet("0");
sheet.setDefaultColumnWidth(18);
wb.setSheetName(0, fileName);
//隐藏列:"MobileTel","Email"
logger.info("开始根据权限得到对应的表头列*********");
List<String> headers = this.getHeadList(headerKey, showField);
//创建excle导出文件的表头列
logger.info("开始创建EXLCE表头列*************");
this.createExcleHeader(sheet, headers, wb);
long startTime = System.currentTimeMillis();
//组装Exlce体数据
logger.info("开始组装EXCLE数据信息**************");
recordCount = this.createExcleBody(dataQueryParameters, sheet, headers, wb);
logger.info("数据导出耗时:"+(System.currentTimeMillis() - startTime));
out = new FileOutputStream(new File(flieAddress));
wb.write(out);
} catch (IOException e) {
e.printStackTrace();
logger.error("导出EXLCE数据异常",e);
}finally{
if(null != out){
out.close();
}
}
return recordCount;
}
if(dataCount > 0){
for (int i = 0; i < listData.size(); i++) {
Row datarow = sheet.createRow(sheetRowIndex+i);
activityLeadsCommonModel = listData.get(i);
for (int j = 0; j < headers.size(); j++) {
Cell cell = datarow.createCell(j);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue(activityLeadsCommonModel.getValueByBeanName(headers.get(j)).toString());//写入内容
}
}
}
private void createExcleHeader(Sheet sheet,List<String> headers,SXSSFWorkbook wb){
Row clumrow = sheet.createRow(0);
List<String> newCellList = ExportExcelUtil.replaceCellName(headers);
CellStyle cell_Style = (CellStyle ) wb .createCellStyle();// 设置字体样式
cell_Style.setWrapText(true); // 设置为自动换行
cell_Style.setAlignment(CellStyle.ALIGN_CENTER);
//设置背景颜色
cell_Style.setFillForegroundColor(IndexedColors.BRIGHT_GREEN.getIndex());
cell_Style.setFillPattern(CellStyle.SOLID_FOREGROUND);
for (int m = 0; m < newCellList.size(); m++) {
Cell cell = clumrow.createCell(m);
cell.setCellStyle(cell_Style);
cell.setCellValue(newCellList.get(m));//写入内容
}
}
分享到:
相关推荐
Java导出Excel是Java开发中常见的需求,尤其是在数据处理和报表生成方面。Apache POI库是Java领域中广泛使用的工具,它允许开发者读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇文章将深入讲解...
java导出excel超过65536条记录出错 java导出excel超过65536条记录出错 java导出excel超过65536条记录出错 java导出excel超过65536条记录出错
本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...
Java导出Excel是Java开发中常见的需求,尤其在数据分析、报表生成或数据交换场景中。本示例资源提供了一个RAR压缩包,包含了实现这一功能的源代码,主要讲解了两个核心部分:一是如何将数据写入Excel文件并保存在...
本示例涉及的主题是“java导出excel复杂表头”,这意味着我们要处理的不是简单的单级表头,而是包含多级或者多层次结构的表头。在描述中提到这是一个可以直接运行的Java工程,但需要进一步改造为Web下载服务。 首先...
java导出Excel 时候 相同行合并(可合并多列); 已测试通过;
Java导出Excel是Java开发中常见的一项任务,特别是在数据分析、报表生成或数据交换等领域。Apache POI是一个流行的开源库,允许Java程序读取和写入Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在本场景...
压缩包中的文件"java导出excel"很可能包含了使用这两种库的示例代码或教程资源,你可以通过解压并学习这些文件来深入理解如何在Java中实现数据到Excel的导出。记得在实际使用时,要根据项目需求选择合适的技术,并...
"Java 导出Excel.zip"这个压缩包文件提供了一个Java实现的解决方案,允许开发者以全泛型的方式方便地导出数据到Excel文件,而且支持动态创建不同数量的sheet页面,增强了灵活性。 1. **Java与Excel交互**:Java中...
Java导出Excel在Web项目中的应用是一个常见的需求,特别是在企业级开发中,为了方便数据的存储、分析和传输,往往需要将数据库中的数据导出为Excel格式。下面将详细介绍这个主题,包括相关技术和实现步骤。 1. **...
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
java导出excel例子,使用的是poi,可以分sheet导出,可以导出txt
在压缩包中的"java导出Excel"文件可能是项目的源代码,包含了实现上述功能的具体Java类和方法。分析这些源码可以帮助我们更深入地理解如何在实际项目中应用这些知识点。 总结来说,这个项目展示了如何在Java环境中...
资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。
总之,Java导出Excel涉及到的主要知识点包括:Apache POI库的使用,Workbook、Sheet、Row和Cell对象的创建和操作,以及数据写入和文件输出。希望这个示例能帮助你理解并开始在自己的项目中实现Excel导出功能。
以下是一些关于“java导出excel”的核心知识点,以及如何实现这一功能的详细解释。 1. **Apache POI库**: Apache POI是一个流行的开源库,专门用于读写Microsoft Office格式的文件,包括Excel。使用POI,开发者...
* 导出excel(利用反射机制) * String[] title = {"订单号","商品名称","商品价格","创建时间"}; * String[] field = {"orderNum","productName","productPrice","createTime"}; * ExportTools.export("sellJoin...
在Java编程中,导出...总之,Java导出Excel涉及到的内容广泛,从选择合适的库到处理各种复杂需求,都需要开发者具备扎实的编程基础和对Excel文件格式的理解。通过不断实践和学习,你可以轻松应对各种Excel处理任务。
java导出CVS,csv只是一种文件的形式。。。就是按照逗号(英文逗号)分隔的文件 它的做成跟普通的文件做成是一样一样的,只需要创建一个文件(*.csv),把字符串按照一定的格式(AAA,BBB\nCCC,DDD注意必须是英文的...