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
;
}
}
}
}
}
查看全文
相关阅读:
android学习日记08--Paint画笔
android学习日记07--Canvas画布
android学习日记06--SurfaceView视图
android学习日记06--View视图
android学习日记05--Activity间的跳转Intent实现
android学习日记04--开发中的通用细节
android学习日记03--常用控件Dialog
android学习日记03--常用控件ListView
android学习日记03--常用控件tabSpec/tabHost
android学习日记03--常用控件progressbar/seekbar
原文地址:https://www.cnblogs.com/lingyun_k/p/415555.html
最新文章
囚犯猜帽子问题
十道智力题(三)
十道智力题(二)
十道智力题(一)
lintcode:排颜色 II
[LeetCode] Strobogrammatic Number II
[LeetCode] Meeting Rooms II
[LeetCode] Meeting Rooms
[LeetCode] Strobogrammatic Number
[LeetCode] Shortest Word Distance II
热门文章
[LeetCode] Shortest Word Distance
[LeetCode] Flatten 2D Vector
[LeetCode] Binary Tree Maximum Path Sum
[LeetCode] Best Time to Buy and Sell Stock IV
[LeetCode] Best Time to Buy and Sell Stock III
[LeetCode] Group Anagrams
[LeetCode] Valid Anagram
[LeetCode] Scramble String
[LeetCode] Different Ways to Add Parentheses
[LeetCode] Candy
Copyright © 2011-2022 走看看