找回密码
 立即注册

QQ登录

只需一步,快速开始

liuzhijie

注册会员

4

主题

8

帖子

26

积分

注册会员

积分
26
  • 787

    金币

  • 4

    主题

  • 8

    帖子

liuzhijie
注册会员   /  发表于:2024-7-3 18:26  /   查看:1006  /  回复:2
1金币
onImportReport() {
  const changeFile = e => {
    let file = e.target.files[0]
    excelIo.open(
      file,
      async json => {
        Message.info('开始导入')
        this.suspendStart()
        spread.fromJSON(json)
        activeSheet = spread.getActiveSheet()
        const { rowCount, rowPosition } = this.getRowCount(
          this.singleLayout
        )
        const pasteData = ReportUtils.getPasteList(activeSheet, rowCount)
        pasteData.param.reportName = [this.baseInfo.reportName]
        pasteData.param.reportCode = [this.baseInfo.reportCode]
        const res = await API.reportImportCheck(pasteData.param)
        const errorCode = res.data.isContainsErrorCode
        if (!errorCode) {
          const rowParams = res.data.rowParams
          activeSheet.setArray(rowCount, rowPosition.col, rowParams)
          this.setCheckItem(pasteData.cells, rowCount)
          this.setReportTable(this.fillForm)
          Message.success('导入成功!')
        } else {
          const elementRecognition = res.data.elementRecognition
          let messages = []
          reportInfo.elementSelection.forEach(item => {
            const dimensionCode = item.dimensionCode
            elementRecognition[dimensionCode].forEach((el, index) => {
              Object.keys(el).forEach(key => {
                if (!el[key]) {
                  const col = item.selectionCol
                  const row = index + rowCount + 1
                  const msg = `导入表第${row}行第${col}:${key}未找到主数据信息`
                  messages.push(msg)
                }
              })
            })
          })
          Notification({
            title: '提示',
            message: messages.join('<br/>'),
            dangerouslyUseHTMLString: true,
            offset: 100,
            duration: 5000
          })
          await this.setReportBaseInfo()
        }
        this.suspendEnd()
      },
      function() {
        Message.error('导入失败!')
      }
    )
  }
  importFile(changeFile)
},


最佳答案

查看完整内容

您好,看上去您在导入的逻辑里面还做了很多其他的操作,有可能是这些操作拖慢了导入的进度。 另外,V16发布了一个新的IO包用于导入和导出,您可以试试用这个IO包来进行导入和导出:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs

2 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-3 18:26:05
来自 2#
您好,看上去您在导入的逻辑里面还做了很多其他的操作,有可能是这些操作拖慢了导入的进度。

另外,V16发布了一个新的IO包用于导入和导出,您可以试试用这个IO包来进行导入和导出:https://demo.grapecity.com.cn/sp ... mat/overview/purejs
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-24 15:35:27
3#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部