找回密码
 立即注册

QQ登录

只需一步,快速开始

191288065

注册会员

5

主题

21

帖子

54

积分

注册会员

积分
54
191288065
注册会员   /  发表于:2016-5-30 16:23  /   查看:4470  /  回复:6
本帖最后由 191288065 于 2016-6-2 09:57 编辑

如题:如何判断一个单元格是否合并单元格?
RTX截图未命名.png
我选定一个区域后,设置这个区域的值
  1. CellRange range = ActiveSheet.GetSelections()[0];
  2. int startrow = range.Row;
  3. int endrow = range.Row + range.RowCount;
  4. int startcol = range.Column;
  5. int endcol = range.ColumnCount;
  6. for (int i = startrow; i < endrow; i++)
  7. {
  8. for (int j = startcol; j < endcol; j++)
  9. {
  10. ActiveSheet.Cells[i, j].Value = "A_" + i + "_" + j;
  11. ActiveSheet.Cells[i, j].BackColor = Color.LimeGreen;
  12. ActiveSheet.Cells[i, j].ForeColor = Color.Yellow;
  13. ActiveSheet.Cells[i, j].Locked = true;
  14. }
  15. }
复制代码


合并的行也设置值了,我怎么判断某个行列坐标是合并的?
昨天我没有仔细看,今天才发现这个方法是不能满足的要求,GetSpanCell(i, j),我的目标是我选中一个区域标注字段,建立数据库结构
现在我不能区分出来被合并的单元格,在程序里面,把被合并的单元格也给建立起数据库字段了
如图:

合并单元格

合并单元格
,这个cells[12,1]是被合并的,程序判断不出来,我循环还是对这个cell给分配了一个字段,有什么办法排除这个cell不?


6 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-30 17:00:25
沙发
fpSpread2.ActiveSheet.GetSpanCell(5, 5); 如果为空则没有span
回复 使用道具 举报
191288065
注册会员   /  发表于:2016-5-31 12:30:45
板凳
感谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-31 13:38:17
地板
不客气
回复 使用道具 举报
191288065
注册会员   /  发表于:2016-6-2 09:58:32
5#
本帖最后由 191288065 于 2016-6-2 10:03 编辑

昨天我没有仔细看,今天才发现这个方法是不能满足的要求,GetSpanCell(i, j),我的目标是我选中一个区域标注字段,建立数据库结构

现在我不能区分出来被合并的单元格,在程序里面,把被合并的单元格也给建立起数据库字段了

如图:,这个cells[12,1]是被合并的,程序判断不出来,我循环还是对这个cell给分配了一个字段,有什么办法排除这个cell不?我想格子的标注为A_11_1,A_12_1...
回复 使用道具 举报
191288065
注册会员   /  发表于:2016-6-2 10:02:15
6#
我这个问题的表述有问题,误导了各位大大,对不起,应该是如何判断一个指定坐标的cell是被合并的
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-6-2 14:08:47
7#
本帖最后由 dexteryao 于 2016-6-2 14:10 编辑

还是用GetSpanCell
  1.             fpSpread1.ActiveSheet.AddSpanCell(0, 0, 3, 3);
  2.             int row = 1, col = 1;
  3.             var range = fpSpread1.ActiveSheet.GetSpanCell(row, col);
  4.             if (range == null)
  5.             {
  6.                 //不在span
  7.             }
  8.             else
  9.             {
  10.                 if(range.Row == row&& range.Column == col)
  11.                 {
  12.                     //在Span 并且是最左上角,有数据的
  13.                 }
  14.                 else
  15.                 {
  16.                     //在span 是被合并的
  17.                 }
  18.             }
复制代码

或者您可以用 fpSpread2.ActiveSheet.Cells[7, 7].Tag = “” 保存您的标记
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部