找回密码
 立即注册

QQ登录

只需一步,快速开始

LYJL265

初级会员

19

主题

62

帖子

203

积分

初级会员

积分
203
LYJL265
初级会员   /  发表于:2018-9-20 08:59  /   查看:7752  /  回复:15
我建立一个sheet用来当做模板,在数据库里查询名称,有几个名称复制多少个sheet把sheet的名字也命名成这个名称
复制完sheet后,名称下面还有明细,复制sheet里的一个区域有几个明细粘贴多少次
图片.png948004455.png
红色的sheet是用来复制的,红色的区域是用来复制的


15 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-20 17:52:46
沙发
不太明白您说的,是要把一个sheet 页当成模板复制到其他页?
复制整个sheet

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3.   FarPoint.Win.Spread.SheetView s = new FarPoint.Win.Spread.SheetView();
  4.   s.Cells[0, 0].Text = "test";
  5.   FarPoint.Win.Spread.DrawingSpace.FourWayArrowShape sh = new FarPoint.Win.Spread.DrawingSpace.FourWayArrowShape();
  6.   sh.Name = "Arrow";
  7.   s.AddShape(sh);
  8.   fpSpread1.Sheets.Add(CopySheet(s));
  9. }

  10. public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet)
  11.         {
  12.             FarPoint.Win.Spread.SheetView newSheet = null;
  13.             if (sheet != null)
  14.             {
  15.                 newSheet = (FarPoint.Win.Spread.SheetView)FarPoint.Win.Serializer.LoadObjectXml(typeof(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet");
  16.             }
  17.             return newSheet;
  18.         }
复制代码


区域复制粘贴
  1. Random r = new Random();
  2. int i, j;
  3. DialogResult dlg;
  4. for (i = 0; i <= 3; i++)
  5. {
  6.     for (j = 0; j <= 3; j++)
  7.     {
  8.         fpSpread1.ActiveSheet.SetValue(i, j, r.Next() -100000);
  9.     }
  10. }
  11. dlg = MessageBox.Show("Do you want to copy the data to the clipboard?", "ClipboardCopy", MessageBoxButtons.YesNo);
  12. if (dlg == DialogResult.Yes)
  13. {
  14.     fpSpread1.ActiveSheet.AddSelection(0, 0, 3, 3);
  15.     fpSpread1.ActiveSheet.ClipboardCopy();
  16. }
  17. dlg = MessageBox.Show("Do you want to paste the data from the clipboard? If yes, let's clear the data first.", "Clear", MessageBoxButtons.YesNo);
  18. if (dlg == DialogResult.Yes)
  19. {
  20.     fpSpread1.ActiveSheet.Cells[0, 0, 5, 5].Text = "";
  21. }
  22. dlg = MessageBox.Show("Now we're ready to paste!!", "ClipboardPaste", MessageBoxButtons.YesNo);
  23. if (dlg == DialogResult.Yes)
  24. {
  25.     fpSpread1.ActiveSheet.ClipboardPaste();
  26. }
复制代码
回复 使用道具 举报
LYJL265
初级会员   /  发表于:2018-9-21 09:04:36
板凳
dexteryao 发表于 2018-9-20 17:52
不太明白您说的,是要把一个sheet 页当成模板复制到其他页?
复制整个sheet

怎么在程序里写公式呢,不知道有几个sheet表最后写一个综合的公式,取明细sheet里面的数量。
还有一个就是怎么在代码里写sum公式。因为行是自动生成的不知道有几行怎么sum
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-21 17:48:04
地板
这个只能拼接string , “sum(A” + row + “:A”+endROw + “)”  这样的方式
回复 使用道具 举报
LYJL265
初级会员   /  发表于:2018-9-22 09:15:37
5#
dexteryao 发表于 2018-9-21 17:48
这个只能拼接string , “sum(A” + row + “:A”+endROw + “)”  这样的方式

拼接完之后怎么往单元格里写呢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-25 09:55:46
6#
fpSpread1.ActiveSheet.Cells[0, 0].Formula = "A1+A2";
回复 使用道具 举报
LYJL265
初级会员   /  发表于:2018-9-28 09:35:27
7#
dexteryao 发表于 2018-9-21 17:48
这个只能拼接string , “sum(A” + row + “:A”+endROw + “)”  这样的方式

横向的想加怎么写,我想要公式不只是算出来的数
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-28 10:51:54
8#
没太明白你的意思
或者如果你前面列有写好的公式,复制到后面列,公式会自动调整的。
回复 使用道具 举报
LYJL265
初级会员   /  发表于:2018-9-28 12:46:06
9#
dexteryao 发表于 2018-9-28 10:51
没太明白你的意思
或者如果你前面列有写好的公式,复制到后面列,公式会自动调整的。

我是想把后面的数加起来,用代码已经算出来了,就是公式不是到怎么写道里面
后面的都是自动生成的列,第一个是A第二个是C第三个是E不知道生成几个
是要A1+C1+E1...
字母怎么自动增加呢
回复 使用道具 举报
LYJL265
初级会员   /  发表于:2018-9-28 12:46:20
10#
图片.png257651061.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部