在vue2中,在el-date-picker改变时,通过name找到range,修改表格中相应单元格的值时失败

Viewed 14

对表格中某一单元格设置name,初始化完成时可以通过name的RefersToRange修改值。但是在el-date-picker的change事件中,通过相同的方法修改单元格的值时失败。 代码如下,mixin_handleExcelDate()在el-date-picker的change事件中调用,无法修改BAO_GAO_RI_QI_1和JIAN_CE_RI_QI_1名称所定义的单元格的值,无报错,不走catch的代码

async mixin_handleExcelCalc() {
  this.mixin.wpsLoading = true
  try {
    await this.mixin.jssdk.ready()
    const app = this.mixin.jssdk.Application
    this.mixin_handleExcelDate()
  } catch (error) {
    this.mixin.wpsLoading = false
    console.log(error)
  }
},

async mixin_handleExcelDate() { // 打开excel后,需处理报告日期和检测日期,form和excel内书签值联动
  const app = this.mixin.jssdk.Application
  const activeSheet = await app.ActiveWorkbook.ActiveSheet
  const names = await activeSheet.Names
  const name1 = await names.Item('BAO_GAO_RI_QI_1')
  const BAO_GAO_RI_QI_1 = await name1.RefersToRange
  const name2 = await names.Item('JIAN_CE_RI_QI_1')
  const JIAN_CE_RI_QI_1 = await name2.RefersToRange
  if (this.form.reportDate && BAO_GAO_RI_QI_1) { // 设置文本
    BAO_GAO_RI_QI_1.Value = this.form.reportDate
  }
  if (this.form.detectionDate && JIAN_CE_RI_QI_1) { // 设置文本
    JIAN_CE_RI_QI_1.Value = this.form.detectionDate
  }
},
2 Answers

您好,我们的文档没有提供RefersToRange修改值的方法呢https://solution.wps.cn/docs/client/api/Excel/Names.html

我也是看的您官方文档。 RefersToRange会返回range对象,我使用此range对象的value方法赋值。文档中应该是可以支持的(如下)。 https://solution.wps.cn/docs/client/api/Excel/Range.html#value

而且初始化时用此方法已经可以成功修改值,但是在后续用户输入内容变更的时候,却修改不了了。

或者有其他可以修改单元格值的解决方案的话,也可以提供,我做相应调试,多谢🙏

https://solution.wps.cn/docs/demo/word/content-fill.html

想实现类似您这个官方demo类似的效果,不过是用excel实现。目前问题就是使用name拿到range对象,通过range.value改不了单元格的值

请问一下RefersToRange方法是在哪里看到的呢,试了一下我们的表格不支持这个方法呢