找回密码
 立即注册

QQ登录

只需一步,快速开始

noahark

论坛元老

62

主题

173

帖子

7139

积分

论坛元老

积分
7139

活字格认证

noahark
论坛元老   /  发表于:2014-1-20 20:12  /   查看:6412  /  回复:8
大神:
您好,在给spread6.0中如果给sheet列头的跨行跨列单元格赋值?

QQ截图20140120200552.jpg (25.17 KB, 下载次数: 123)

8 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-1-21 09:30:00
沙发
回复 1楼noahark的帖子

首先要把赋值的单元格合并,再赋值。

合并的参考代码:

  1. fpSpread1.ActiveSheet.ColumnHeaderRowCount = 4;
  2. fpSpread1.ActiveSheet.Models.ColumnHeaderSpan.Add(0, 0, 2, 3);
复制代码


建议用Excel把您的需求模拟出来,截图,用颜色标注一下那里需要实现,我试着写代码看看。
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-1-21 11:31:00
板凳
回复 2楼roger.wang的帖子


QQ截图20140121110102.jpg (27.19 KB, 下载次数: 100)
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-21 11:58:00
地板
回复 3楼noahark的帖子

谢谢您提供的需求表样。

通过如下代码可实现:
  1. if (!IsPostBack)
  2.             {
  3.                 FpSpread1.ActiveSheetView.RowCount = 10;

  4.                 FpSpread1.ActiveSheetView.ColumnHeader.RowCount = 2;
  5.                 FpSpread1.ActiveSheetView.RowHeader.ColumnCount = 2;

  6.                 FpSpread1.ActiveSheetView.SheetCorner.Cells[0, 0].Text = "产品构成";               
  7.                 FpSpread1.ActiveSheetView.SheetCorner.Cells[0, 0].RowSpan = 2;
  8.                 FpSpread1.ActiveSheetView.SheetCorner.Cells[0, 0].ColumnSpan = 1;

  9.                 FpSpread1.ActiveSheetView.RowHeader.Cells[0, 0].RowSpan = 4;
  10.                 FpSpread1.ActiveSheetView.RowHeader.Cells[0, 0].Text = "住宅";

  11.                 FpSpread1.ActiveSheetView.RowHeader.Cells[0, 1].Text = "酒店式公寓";
  12.                 FpSpread1.ActiveSheetView.RowHeader.Columns[1].Width = 80;
  13.                 FpSpread1.ActiveSheetView.RowHeader.Cells[1, 1].Text = "小高层";
  14.                 FpSpread1.ActiveSheetView.RowHeader.Cells[2, 1].Text = "多层";
  15.                 FpSpread1.ActiveSheetView.RowHeader.Cells[3, 1].Text = "洋房";

  16.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 0].Text = "建筑覆盖面积";
  17.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[1, 0].Text = "";

  18.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 1].Text = "地块面积";
  19.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[1, 1].Text = "A";

  20.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 2].Text = "容积率";
  21.                 FpSpread1.ActiveSheetView.ColumnHeader.Cells[1, 2].Text = "B=D/A";

  22.             }
复制代码



spread_web_span.gif
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-1-21 14:11:00
5#
回复 4楼roger.wang的帖子

产品构成单元格不是sheetCorner。我这是已经隐藏了行头。
产品构成单元格是列头的[0,2]坐标部分。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-21 17:19:00
6#
回复 5楼noahark的帖子

能把您的demo发过来吗?  结合4楼上的实现,我的理解是您的需求是不需要RowHeader,而是用单元格合并做了一个“RowHeader”,不知道我的理解对不对。
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-1-21 20:00:00
7#
回复 6楼roger.wang的帖子

对,你的理解没错,我在做demo的时候发现又能实现效果,我再看看哈。
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-1-21 20:19:00
8#
回复 6楼roger.wang的帖子

版主,您好,问题原因找到了。
前面设置了单元格文字;
到最后有一行代码给清空了,之前没有注意点。
都是我的错,不好意思哈。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-22 09:15:00
9#
回复 8楼noahark的帖子

  解决了问题就好。

欢迎有问题再开贴沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部