找回密码
 立即注册

QQ登录

只需一步,快速开始

dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-1 14:57:40
11#
spread现在还不支持图形。

如果要花您那种直线,必须固定行列高宽,精确计算那条线在每个单元格的起始和结束位置

插入图形现在也不支持‘
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-1 15:29:36
12#
本帖最后由 dexteryao 于 2016-11-1 15:37 编辑

不好意思,我看错产品了。我们产品比较多,spreadjs是没有shape的,winform 有
您可以直接在设计器中添加shape。

您可以通过下面的方式添加图形
  1. FarPoint.Win.Spread.DrawingSpace.TriangleShape a = new FarPoint.Win.Spread.DrawingSpace.TriangleShape();
  2. a.BackColor = Color.Blue;
  3. fpSpread1.ActiveSheet.AddShape(a, 1, 1);
复制代码

  1.             FarPoint.Win.Spread.DrawingSpace.EllipseShape b = new FarPoint.Win.Spread.DrawingSpace.EllipseShape();

  2.             fpSpread2.ActiveSheet.AddShape(b, 2, 2);
复制代码


评分

参与人数 1满意度 +5 收起 理由
刘君 + 5 是的,我也找到了。谢谢

查看全部评分

回复 使用道具 举报
刘君
中级会员   /  发表于:2016-11-1 16:03:32
13#
但是,怎么能控制图形对象的位置和尺寸呢? 例如,图形与单元格的四边保持一定的间隔。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-1 16:18:20
14#
addshape有重载方法
AddShape(shape, fromRow, fromColumn, fromRowPixelOffset, fromColumnPixelOffset, toRow, toColumn, toRowPixelOffset, toColumnPixelOffset, attachedToCell)
分别是 shape,开始单元格row,column, 偏移像素row,col, 结束单元格row,col,到结束单元格左上角偏移row,col, attachedToCell
回复 使用道具 举报
刘君
中级会员   /  发表于:2016-11-1 16:18:55
15#
明白了,不用回复了,谢谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-1 16:21:28
16#
或者
  1.             FarPoint.Win.Spread.DrawingSpace.EllipseShape b = new FarPoint.Win.Spread.DrawingSpace.EllipseShape();
  2.             b.Size = new Size(200, 200);
  3.             fpSpread2.ActiveSheet.AddShape(b, 2, 2, 10, 10, false);
复制代码

评分

参与人数 1满意度 +5 收起 理由
刘君 + 5 很给力!

查看全部评分

回复 使用道具 举报
刘君
中级会员   /  发表于:2016-11-2 08:35:17
17#
还的两个问题请教一下:
1:插入的形状怎么删除?
2、自定义的形状,如公章、签名怎么加入?
回复 使用道具 举报
刘君
中级会员   /  发表于:2016-11-2 09:01:36
18#
这些形状是否有一个集合? 能通过代码遍历吗?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-2 09:33:52
19#
您好,shape设置name然后用name remove掉
或者clear掉所有的

公章签名您是图片的话放到 RectangleShape 里。
如果您签名的位置是固定在单元格里的话也可以用ImageCellType


  1.             FarPoint.Win.Spread.DrawingSpace.EllipseShape b = new FarPoint.Win.Spread.DrawingSpace.EllipseShape();
  2.             b.Size = new Size(200, 200);
  3.             b.Name = "Ellipse1";
  4.             fpSpread2.ActiveSheet.AddShape(b, 2, 2, 10, 10, false);

  5.             fpSpread2.ActiveSheet.RemoveShape("Ellipse1");
  6.             fpSpread2.ActiveSheet.ClearShapes();
  7.             
  8.             FarPoint.Win.Spread.DrawingSpace.RectangleShape rShape = new FarPoint.Win.Spread.DrawingSpace.RectangleShape();
  9.             rShape.BackColor = Color.Transparent;
  10.             rShape.Picture= Image.FromFile("googlelogo_color_120x44dp.png");
  11.             fpSpread2.ActiveSheet.AddShape(rShape, 2, 2);
复制代码



  1. FarPoint.Win.Spread.CellType.ImageCellType icelltype =new FarPoint.Win.Spread.CellType.ImageCellType();
  2. icelltype.Style = FarPoint.Win.RenderStyle.Stretch;
  3. icelltype.TransparencyColor = Color.Black;
  4. icelltype.TransparencyTolerance = 100;
  5. fpSpread1.Sheets[0].Rows[0].CellType =icelltype;
  6. System.Drawing.Image image = System.Drawing.Image.FromFile("D:\\alphaomega3.jpg");
  7. System.IO.MemoryStream stream = new System.IO.MemoryStream();
  8. byte[] bytes;
  9. string str;
  10. image.Save(stream,System.Drawing.Imaging.ImageFormat.Jpeg);
  11. stream.Seek(0, System.IO.SeekOrigin.Begin);
  12. bytes = stream.GetBuffer();
  13. str = System.Convert.ToBase64String(bytes);
  14. fpSpread1.Sheets[0].Cells[0,0].Value = image;
  15. fpSpread1.Sheets[0].Cells[0,1].Value = bytes;
  16. fpSpread1.Sheets[0].Cells[0,2].Value = str;
复制代码

评分

参与人数 1满意度 +5 收起 理由
刘君 + 5

查看全部评分

回复 使用道具 举报
刘君
中级会员   /  发表于:2016-11-2 10:09:06
20#
谢谢,有可以遍历的集合吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部