zoukankan
html css js c++ java
在Excel中将连续多列相同数据项合并
效果图如下:
代码如下:
/**/
///
<summary>
///
合并工作表中指定行数和列数数据相同的单元格
///
</summary>
///
<param name="sheetIndex">
工作表索引
</param>
///
<param name="beginRowIndex">
开始行索引
</param>
///
<param name="beginColumnIndex">
开始列索引
</param>
///
<param name="rowCount">
要合并的行数
</param>
///
<param name="columnCount">
要合并的列数
</param>
public
void
MergeWorkSheet(
int
sheetIndex,
int
beginRowIndex,
int
beginColumnIndex,
int
rowCount,
int
columnCount)
{
//
检查参数
if
( columnCount
<
1
||
rowCount
<
1
)
return
;
for
(
int
col
=
0
;col
<
columnCount;col
++
)
{
int
mark
=
0
;
//
标记比较数据中第一条记录位置
int
mergeCount
=
1
;
//
相同记录数,即要合并的行数
string
text
=
""
;
for
(
int
row
=
0
;row
<
rowCount;row
++
)
{
string
prvName
=
""
;
string
nextName
=
""
;
//
最后一行不用比较
if
( row
+
1
<
rowCount)
{
for
(
int
n
=
0
;n
<=
col;n
++
)
{
range
=
(Excel.Range)workSheet.Cells[row
+
beginRowIndex,n
+
beginColumnIndex];
range
=
(Excel.Range)range.MergeArea.get_Item(
1
,
1
);
text
=
range.Text.ToString();
prvName
=
prvName
+
text;
range
=
(Excel.Range)workSheet.Cells[row
+
1
+
beginRowIndex,n
+
beginColumnIndex];
range
=
(Excel.Range)range.MergeArea.get_Item(
1
,
1
);
nextName
=
nextName
+
range.Text.ToString();
}
if
(prvName
==
nextName)
{
mergeCount
++
;
if
(row
==
rowCount
-
2
)
{
this
.MergeCells(sheetIndex,beginRowIndex
+
mark,beginColumnIndex
+
col,beginRowIndex
+
mark
+
mergeCount
-
1
,beginColumnIndex
+
col,text);
}
}
else
{
this
.MergeCells(sheetIndex,beginRowIndex
+
mark,beginColumnIndex
+
col,beginRowIndex
+
mark
+
mergeCount
-
1
,beginColumnIndex
+
col,text);
mergeCount
=
1
;
mark
=
row
+
1
;
}
}
}
}
}
查看全文
相关阅读:
java乱码问题解决
发送邮件工具方法
MD5加密算法工具类
2015年4月与5月
Hark的数据结构与算法练习之煎饼排序
Hark的数据结构与算法练习之图书馆排序
Hark的数据结构与算法练习之耐心排序
Hark的数据结构与算法练习之多路归并排序
Hark的数据结构与算法练习之若领图排序ProxymapSort
启动mysql出现了error the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)
原文地址:https://www.cnblogs.com/lingyun_k/p/415555.html
最新文章
centos系统设置通过windows代理上网
sqlserver2008r2实现镜像
linux常用命令
eclipse总是自动跳到ThreadPoolExecutor解决办法
activit流程引擎启动流程报错
使用Navicat Premium对mssql2008r2授权用户
windows2008r2系统破解登录密码方法
activiti报错ProcessEngines.getDefaultProcessEngine()为null
springmvc和mybatis整合关键配置
mybatis二级缓存应用及与ehcache整合
热门文章
mybatis和spring整合的关键配置
Struts2的类型转换器
struts2文件上传
hibernate常用配置
集成Struts2+Spring+Hibernate_两种方案
spring和hibernate集成事物管理配置方法
windows系统实现mysql数据库数据库主从复制
java工程添加类库
添加struts2本地dtd限制
制作缩略图java工具类
Copyright © 2011-2022 走看看