找回密码
 立即注册

QQ登录

只需一步,快速开始

cccc
金牌服务用户   /  发表于:2024-7-11 16:26  /   查看:724  /  回复:11
本帖最后由 cccc 于 2024-7-24 09:10 编辑

1、可以提供下关于spread操作自定义名称的操作例子吗?我现在知道了如何获取自定义名称的地址。我现在的需求是读取一个定义了多行多列的自定义名称的值,然后赋值给二维数组怎么操作。比如像excel一样,直接用自定义名称或区域的value属性,object[,] objv1=range1.value。那么在spread用代码是如何实现的呢?2、有没有类似跟excel一样操作Range对象的属性和操作方法呢?包括区域的相对行列位置的操作呢?我找到FarPoint.Win.Spread.Model.CellRange。但了解到这个对象几个简单属性,请老师帮忙回答下,谢谢。

11 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-11 18:24:06
沙发
1.现在你通过getCustomName获取到的是一个公式字符串,目前没有接口可以转换成区域。(spreadjs目前支持),所以只能你们自己来解析字符串进行转换,得到区域的起始和结束行列坐标。


2.你提到的实际上是spread.net 在进几个版本中增加的vsto风格的接口,通过
spread.AsWorkbook()
以及
sheetView.AsWorksheet()
能获取到对应的workbook,sheet对象,然后就能得到你说的Range了

比如
spread.AsWorkbook().ActiveSheet.Cells[1,1]
sheetView.AsWorksheet().Cells[1,1]

相关链接
https://www.grapecity.com.cn/doc ... heet.IWorkbook.html
https://www.grapecity.com.cn/doc ... eet.IWorksheet.html
https://www.grapecity.com.cn/doc ... adsheet.IRange.html
回复 使用道具 举报
cccc
金牌服务用户   /  发表于:2024-7-12 11:02:36
板凳
Richard.Ma 发表于 2024-7-11 18:24
1.现在你通过getCustomName获取到的是一个公式字符串,目前没有接口可以转换成区域。(spreadjs目前支持) ...

好的,谢谢。顺便问下,IRange对象的方法里我没有看到replace这方法,怎么实现替换区域内的文本?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-12 13:59:24
地板
VSTO类的方法目前只实现了部分接口,不是所有的接口都有,你翻看我们的历史版本更新说明的话,也会发现是在逐步增加

替换区域内的文本,可以直接设置值就行的
比如sheetView.AsWorksheet().Cells[14, 0, 4, 1]获取和设置值都可以通过
sheetView.AsWorksheet().Cells[14, 0, 4, 1].Value,可以获取或设置一个二维数组
回复 使用道具 举报
cccc
金牌服务用户   /  发表于:2024-7-12 14:28:41
5#
Richard.Ma 发表于 2024-7-12 13:59
VSTO类的方法目前只实现了部分接口,不是所有的接口都有,你翻看我们的历史版本更新说明的话,也会发现是在 ...

嗯。我现在区域哪些单元格需要替换的是不清楚的,如果有接口方法可以直接帮我们检索替换就很方便。不然我还得先遍历查找区域里哪些单元格的值是需要替换的。势必增加耗时。除了设置值方法外,还有更简便的方式吗?还有一个问题,区域里插行怎么做?如何实现类似excel这样range1.Rows[1].Insert(Shift: -4121).
回复 使用道具 举报
cccc
金牌服务用户   /  发表于:2024-7-12 14:51:28
6#
补充下,spread winform 15的说明文档里有区域插行的方法 1720766960406.jpg214658812.png ,spread winform 14没有这方法吗??
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-12 16:20:04
7#
cccc 发表于 2024-7-12 14:51
补充下,spread winform 15的说明文档里有区域插行的方法,spread winform 14没有这方法吗??

不太确定,你可以直接测试一下看看
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-12 16:20:54
8#
cccc 发表于 2024-7-12 14:28
嗯。我现在区域哪些单元格需要替换的是不清楚的,如果有接口方法可以直接帮我们检索替换就很方便。不然我 ...

我不太清楚你说的替换逻辑,是和excel中的查找对话框中的一样吗在?找到文本然后替换
回复 使用道具 举报
cccc
金牌服务用户   /  发表于:2024-7-12 17:01:30
9#
Richard.Ma 发表于 2024-7-12 16:20
我不太清楚你说的替换逻辑,是和excel中的查找对话框中的一样吗在?找到文本然后替换

是的
回复 使用道具 举报
cccc
金牌服务用户   /  发表于:2024-7-12 17:10:11
10#
1720775224115.jpg331852721.png 我的irange没有insert方法,现在急需区域插入行的需求,有什么好的建议或方法吗
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部