Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛使用copyWithHeader无法复制表头数据到excel中 #2684

Closed
5 tasks
Calmio-Y opened this issue Apr 26, 2024 · 4 comments · Fixed by #2691
Closed
5 tasks

🐛使用copyWithHeader无法复制表头数据到excel中 #2684

Calmio-Y opened this issue Apr 26, 2024 · 4 comments · Fixed by #2691
Assignees

Comments

@Calmio-Y
Copy link

🏷 Version

Package Version
@antv/s2 1.54.6
@antv/s2-react 1.46.3
@antv/s2-vue

Sheet Type

  • PivotSheet
  • TableSheet
  • GridAnalysisSheet
  • StrategySheet
  • EditableSheet

🖋 Description

使用copyWithHeader无法复制表头数据到excel中

⌨️ Code Snapshots

import React from 'react';
import ReactDOM from 'react-dom';
import { SheetComponent } from '@antv/s2-react';

fetch('https://gw.alipayobjects.com/os/bmw-prod/2a5dbbc8-d0a7-4d02-b7c9-34f6ca63cff6.json')
.then((res) => res.json())
.then((dataCfg) => {
const s2Options = {
width: 600,
height: 480,
interaction: {
// 可复制
enableCopy: true,
copyWithHeader: true,
copyWithFormat: true,
brushSelection: {
data: true,
row: true,
col: true,
},
multiSelection: true,
},
};

const dd = {
  fields: {
    rows: ['year-period'],
    columns: ['entity'],
    values: ['dq'],
    valueInCols: true,
  },
  meta: [
    {
      field: 'year', 
    },
    {
      field: 'dq',
    },
    {
      field: 'bq',
    },
    {
      field: 'tq',
    },
    {
      field: 'mlv',
    },
    {
      field: 'tb',
    },
    {
      field: 'period',
      name: '月份',
    },
    {
      field: 'entity',
    },
    {
      field: 'year-period' 
    },
  ],
  data: [
    {
      period: '三月',
      year: '2018年',
      entity: '两片罐事业部',
      'year-period': '2018年-三月',
      bq: 32223,
      dq: 53332,
      _origin: {
        period: '3',
        year: '2018',
        entity: 'Can_BU',
        'year-period': '2018-3',
      },
    },
    {
      period: '三月',
      year: '2019年',
      entity: '两片罐事业部',
      'year-period': '2019年-三月',
      bq: 32223,
      dq: 53332,
      _origin: {
        period: '3',
        year: '2019',
        entity: 'Can_BU',
        'year-period': '2019-3',
      },
    },
    {
      period: '三月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-三月',
      bq: 61745.2,
      dq: 53332,
      _origin: {
        period: '3',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-3',
      },
    },
    {
      period: '三月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-三月',
      bq: 36544,
      dq: 67456,
      _origin: {
        period: '3',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-3',
      },
    },
    {
      period: '三月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-三月',
      bq: 49096,
      dq: 53332,
      _origin: {
        period: '3',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-3',
      },
    },
    {
      period: '三月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-三月',
      bq: 74394.4,
      dq: 66293.333333,
      _origin: {
        period: '3',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-3',
      },
    },
    {
      period: '三月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-三月',
      bq: 71232.1,
      dq: 97192.090909,
      _origin: {
        period: '3',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-3',
      },
    },
    {
      period: '四月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-四月',
      bq: 62799.3,
      dq: 67454,
      _origin: {
        period: '4',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-4',
      },
    },
    {
      period: '四月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-四月',
      bq: 37567,
      dq: 0,
      _origin: {
        period: '4',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-4',
      },
    },
    {
      period: '四月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-四月',
      bq: 50150.1,
      dq: 70442.733333,
      _origin: {
        period: '4',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-4',
      },
    },
    {
      period: '四月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-四月',
      bq: 75448.5,
      dq: 56665,
      _origin: {
        period: '4',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-4',
      },
    },
    {
      period: '四月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-四月',
      bq: 72286.2,
      dq: 100535.760606,
      _origin: {
        period: '4',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-4',
      },
    },
    {
      period: '五月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-五月',
      bq: 63853.4,
      dq: 23566,
      _origin: {
        period: '5',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-5',
      },
    },
    {
      period: '五月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-五月',
      bq: 38555,
      dq: -10000,
      _origin: {
        period: '5',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-5',
      },
    },
    {
      period: '五月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-五月',
      bq: 51204.2,
      dq: 73786.40303,
      _origin: {
        period: '5',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-5',
      },
    },
    {
      period: '五月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-五月',
      bq: 76502.6,
      dq: 65554,
      _origin: {
        period: '5',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-5',
      },
    },
    {
      period: '五月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-五月',
      bq: 73340.3,
      dq: 103879.430303,
      _origin: {
        period: '5',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-5',
      },
    },
    {
      period: '六月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-六月',
      bq: 64907.5,
      dq: 67456,
      _origin: {
        period: '6',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-6',
      },
    },
    {
      period: '六月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-六月',
      bq: 39609.1,
      dq: 22222,
      _origin: {
        period: '6',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-6',
      },
    },
    {
      period: '六月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-六月',
      bq: 52258.3,
      dq: 77130.072727,
      _origin: {
        period: '6',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-6',
      },
    },
    {
      period: '六月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-六月',
      bq: 77556.7,
      dq: 53332,
      _origin: {
        period: '6',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-6',
      },
    },
    {
      period: '六月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-六月',
      bq: -34394.4,
      dq: 107223.1,
      _origin: {
        period: '6',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-6',
      },
    },
    {
      period: '七月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-七月',
      bq: 65961.6,
      dq: 0,
      _origin: {
        period: '7',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-7',
      },
    },
    {
      period: '七月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-七月',
      bq: 40663.2,
      dq: 39998,
      _origin: {
        period: '7',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-7',
      },
    },
    {
      period: '七月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-七月',
      bq: 53312.4,
      dq: 80473.742424,
      _origin: {
        period: '7',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-7',
      },
    },
    {
      period: '七月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-七月',
      bq: 78610.8,
      dq: 70442.733333,
      _origin: {
        period: '7',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-7',
      },
    },
    {
      period: '七月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-七月',
      bq: 75448.5,
      dq: 61292.833333,
      _origin: {
        period: '7',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-7',
      },
    },
    {
      period: '八月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-八月',
      bq: 67015.7,
      dq: 0,
      _origin: {
        period: '8',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-8',
      },
    },
    {
      period: '八月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-八月',
      bq: 41717.3,
      dq: 48877,
      _origin: {
        period: '8',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-8',
      },
    },
    {
      period: '八月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-八月',
      bq: 54366.5,
      dq: 83817.412121,
      _origin: {
        period: '8',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-8',
      },
    },
    {
      period: '八月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-八月',
      bq: 79664.9,
      dq: 73786.40303,
      _origin: {
        period: '8',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-8',
      },
    },
    {
      period: '八月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-八月',
      bq: 76502.6,
      dq: 66293.333333,
      _origin: {
        period: '8',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-8',
      },
    },
    {
      period: '九月',
      year: '2023年',
      entity: '两片罐事业部',
      'year-period': '2023年-九月',
      bq: 68069.8,
      dq: 22222,
      _origin: {
        period: '9',
        year: '2023',
        entity: 'Can_BU',
        'year-period': '2023-9',
      },
    },
    {
      period: '九月',
      year: '2023年',
      entity: '宝翼制罐',
      'year-period': '2023年-九月',
      bq: 42771.4,
      dq: 49999,
      _origin: {
        period: '9',
        year: '2023',
        entity: 'en10301',
        'year-period': '2023-9',
      },
    },
    {
      period: '九月',
      year: '2023年',
      entity: '河北制罐',
      'year-period': '2023年-九月',
      bq: 55420.6,
      dq: 87161.081818,
      _origin: {
        period: '9',
        year: '2023',
        entity: 'En10302',
        'year-period': '2023-9',
      },
    },
    {
      period: '九月',
      year: '2023年',
      entity: '成都制罐',
      'year-period': '2023年-九月',
      bq: 80719,
      dq: 77130.072727,
      _origin: {
        period: '9',
        year: '2023',
        entity: 'En10303',
        'year-period': '2023-9',
      },
    },
    {
      period: '九月',
      year: '2023年',
      entity: '哈尔滨制罐',
      'year-period': '2023年-九月',
      bq: 77556.7,
      dq: 56665,
      _origin: {
        period: '9',
        year: '2023',
        entity: 'En10314',
        'year-period': '2023-9',
      },
    },
  ],
};
ReactDOM.render(
  <SheetComponent
    dataCfg={dd}
    options={s2Options}
    adaptive={{
      width: true,
      height: false,
      getContainer: () => document.getElementById('container'),
    }}
  />,
  document.getElementById('container'),
);

});

🔗 Reproduce Link

https://s2-v1.antv.antgroup.com/examples/layout/adaptive#react-adaptive
打开上面链接,并将代码替换成上面Code Snapshots中的代码

🤔 Steps to Reproduce

  1. 当前例子复制到excel中,表头无法复制成功

😊 Expected Behavior

上述例子可以正常复制表头

😅 Current Behavior

💻 System information

Environment Info
System
Browser
@lijinke666
Copy link
Member

lijinke666 commented Apr 28, 2024

这个是 1.x 版本的设计缺陷, 内部使用了 "-" 来分割行列数据: "行头维值-列头维值"

const colId = cellMeta.id.split(EMPTY_PLACEHOLDER)?.[1] ?? '';

你这里的行头维值刚好带了分割线 "2023年-四月", 所以解析出来是 "2023" 和 "四月", 导致导出异常, 近期修复该问题.

目前的临时解决方案是: 格式化一下维值, 比如改成 "2023年_四月" 或者 "2023年/四月"
image

@lijinke666 lijinke666 self-assigned this Apr 28, 2024
@lijinke666 lijinke666 added the 🐛 bug 这个是一个 bug label Apr 28, 2024
Copy link
Contributor

你好 @Calmio-Y,很抱歉给你带来了不好的体验, 我们会尽快排查问题并修复, 请关注后续发布日志.

Hello, @Calmio-Y, We are so sorry for the bad experience. We will troubleshoot and fix the problem as soon as possible. Please pay attention to the follow-up change logs.

@lijinke666
Copy link
Member

🎉 This issue has been resolved in version @antv/s2-v1.55.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lijinke666
Copy link
Member

🎉 This issue has been resolved in version @antv/s2-v2.0.0-next.19 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants