excel导出效率慢,单元格样式复制方法分析

实现方法:

@SuppressWarnings("unchecked")

public Row copyStyle(Sheet sheet, int srcRowNum, int destRowNum) {

Row srcRow = sheet.getRow(srcRowNum);

Row destRow = sheet.createRow(destRowNum);

try{

if(srcRow.getRowStyle()!=null){//row格式的复制

destRow.setRowStyle(srcRow.getRowStyle());

}

int i=0;

Iterator<Cell> srcCells = srcRow.cellIterator();

while(srcCells.hasNext()) {

Cell srcCell = srcCells.next();

Cell destCell = destRow.createCell(i++);

//cell格式的复制

if(srcCell.getCellStyle()!=null)destCell.setCellStyle(srcCell.getCellStyle());

}

}catch(Exception e){

LOG.error("copyStyle::"+e.getMessage());

LOG.error(e);

}

return destRow;

}

调用方法:

Row row =null;

if(i==0){

row = sheet.createRow(i+6);

for (int j = 0; j < TITLES.length; j++) {

// 数据项单元格格式

Cell cell = row.createCell(j);

cell.setCellStyle(createCellStyleWithBorder(wookBook,CELL_STYPE_STRING, b));

}

}else{

row=copyStyle(sheet,i+5,i+6);

}

时间: 2024-08-13 21:41:59

excel导出效率慢,单元格样式复制方法分析的相关文章

Excel导出时设置单元格的格式为文本

问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的0. 解决方法: 用设置单元格的 NumberFormatLocal 属性即可: xlapp.Selection.NumberFormatLocal = "@" Excel导出时设置单元格的格式为文本,布布扣,bubuko.com

在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3.POI读取Excel有两种格式一个是HSSF,另一个是XSSF. HSSF和XSSF的区别如下: HSSF

NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)

NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 3.设置单元格样式:字段,颜色 4.设置单元格为下拉框并限制输入值 5.设置单元格只能输入数字 // // GET: /Excel/ public ActionResult Write() { var workbook = new HSSFWorkbook();//从流内容创建Workbook对象

用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Excel中格式的设置,以及单元格的合并等等.下面就介绍下,使用NPOI类库操作Excel的方法. 1.首先我们先在内存中生成一个Excel文件,代码如下:   HSSFWorkbook book = new HSSFWorkbook();        ISheet sheet = book.CreateSheet("Sheet1"); 2.然后在新创建的sheet里面,创建我们的行和列,代码如下

excel套用单元格样式进行美化

与表格样式的内容相似,单元格样式中也包含字体.边框.填充和数字格式等效果,直接使用能实现快速美化单元格的目的.(常见问题)Excel表格样式的套用与创建如何把内容粘贴到excel单元格时自动套用excel的单元格格式excel怎样取消套用表格格式excel如何自定义套用表格格式怎么新增并设置 [解决方法,教程视频资料如下]资料来源:http://edu.51cto.com/course/15224.html 完整资料:http://edu.51cto.com/lecturer/13162026.

使用openpyxl创建excel并设置单元格样式

wb = Workbook() ws = wb.create_sheet('月度排名汇总', 0) # 合并单元格 ws.merge_cells('b2:b3') ws.merge_cells('c2:c3') ws.merge_cells('d2:d3') ws.merge_cells('e2:g2') ws.merge_cells('h2:j2') # 设置单元格文本内容 ws['b2'].value = '负责人' ws['c2'].value = '部门/小组' ws['d2'].val

EasyExcel使用及自定义设置单元格样式

固定模板方式,首先创建要Excel数据列模板:当然EasyExcel 中也可以动态自定义表头,其实都差不多一样 下面案例中,我采用一个固定模板方式,主要记录下,如何自定义单元格样式 这里是导出方法,主要是绑定样式,指定Excel文件生成的路径 public static String ExcelWrite(ExportParamDto excelData) { String fileName = getPath() + System.currentTimeMillis() + ".xlsx&qu

【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .

package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jxl.Workbook;import jxl.format.UnderlineStyle;import jxl.write.Label;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.

Excel用底纹突出单元格的数据给Excel单元格添加底纹效果

在表格中某些单元格的数据相对重要,需要突出显示,除了应用单元格样式外,还可以单独为单元格设置图案底纹,让其突出显示.(常见问题)excel中如何设置单元格的底纹怎样给EXCEL表格加底纹在EXCEL中对某个单元格设置25%灰色底纹怎么做Excel利用条件格式对包含公式的单元格突出显示如何更换Excel单元格中的底纹颜色 [解决方法,教程视频资料如下]资料来源:http://edu.51cto.com/course/15224.html 完整博客资料:http://blog.51cto.com/1