Clark.Pan 发表于 2020-4-6 21:05:35

SpreadJS添加替换功能

SpreadJS原生支持查找功能,但没有对应的功能API,在Excel,或者文本编辑器中,替换是一个非常常见的操作,但我们去修改文档的时候,通过查找查找到某个内容,然后替换成另一个内容是非常常见的操作。那么在SpreadJS中该如何实现替换的操作呢?首先我们还是要利用查找操作来查找出来内容
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/search/basic-search/purejs
由于SpreadJS中的查找功能实现的是单步查找的功能,如果要做到继续查找或者查找全部的功能,需要将查找包装成一个方法,然后通过递归进行调用。
递归的出口就是当查找结果返回对象中的foundRowIndex和foundColumnIndex为-1的时候,说明已经查找完了所有的内容。
<blockquote><span style="white-space:pre">                </span>function search(row,col,searchString){之后我们需要做的就是将对应的activeCell显示到查找的结果上,这里用setActiveCell这个接口可以做到。类似下面代码
sheet.setActiveCell(result.foundRowIndex,result.foundColumnIndex);最后就是替换功能了,原理就是通过setValue将查找到的单元格的值变为替换后的结果。
sheet.setValue(searchResult.foundRowIndex, searchResult.foundColumnIndex,document.getElementById('txtReplaceWhat').value)如此这般,我们就可以在SpreadJS中实现替换功能了。
附件上传一个实现了功能的示例,可以当做参考
我们可以设置relace what来进行替换的内容

之后点击relaceNext按钮就可以替换查找到的单元格了

这里有一点需要说明,本示例中默认查找模式是模糊匹配,所以执行替换的时候模糊匹配的结果也会进行替换。
如果需要精确查找,请勾选下图的按钮并参考对应实现代码。

页: [1]
查看完整版本: SpreadJS添加替换功能