找回密码
 立即注册

QQ登录

只需一步,快速开始

小菜鸡xx

初级会员

42

主题

147

帖子

437

积分

初级会员

积分
437
小菜鸡xx
初级会员   /  发表于:2023-11-9 21:17  /   查看:3196  /  回复:11
本帖最后由 Richard.Huang 于 2024-2-23 12:18 编辑

产品:SpreadJS
版本:V16.2.4
问题编号:SJS-21196
LastReview:2024/2/23
该问题已经在V17.0.0之后修复,您可以通过升级版本来解决该问题

1,如何导出csv文件格式
2,导出乱码,列头没有导出 image.png39034117.png

评分

参与人数 1金币 +200 收起 理由
Ellia.Duan + 200

查看全部评分

11 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-10 10:00:20
沙发
您好,根据您的描述来看,似乎是编码格式和解码格式不统一导致的问题,Excel默认打开是ANSI格式。您可以将导出时的编码设置为ANSI。
您可以参考该学习指南来实现:https://demo.grapecity.com.cn/sp ... mat/overview/purejs
image.png686969299.png
如果仍然存在问题,建议您将该乱码格式的问题提供一份可供我们复现的文件,方便我们为您进行排查。
回复 使用道具 举报
小菜鸡xx
初级会员   /  发表于:2023-11-10 11:11:34
板凳
Richard.Huang 发表于 2023-11-10 10:00
您好,根据您的描述来看,似乎是编码格式和解码格式不统一导致的问题,Excel默认打开是ANSI格式。您可以将 ...

就是按照你们这个案例去写的  你们怎么写我就怎么写的   还是乱码。列头怎么导出啊
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-10 14:10:12
地板
小菜鸡xx 发表于 2023-11-10 11:11
就是按照你们这个案例去写的  你们怎么写我就怎么写的   还是乱码。列头怎么导出啊

您好,我直接使用官网的例子进行测试,成功导出了用Excel软件打开不乱码的csv文件,具体效果如下所示,如果您仍然存在问题,建议提供一份可供我们复现的Demo,方便我们更好地为您解决问题:

导出csv不乱码.gif97404479.png
对于您的第二个问题,想要将列头也导出,这个需要您自己进行开发。咱们可以参考这篇帖子来实现:https://gcdn.grapecity.com.cn/showtopic-187172-1-1.html
image.png241004027.png
回复 使用道具 举报
小菜鸡xx
初级会员   /  发表于:2023-11-10 14:27:22
5#
Richard.Huang 发表于 2023-11-10 14:10
您好,我直接使用官网的例子进行测试,成功导出了用Excel软件打开不乱码的csv文件,具体效果如下所示,如 ...

var sheet = spread.getActiveSheet();
      sheet.addRows(0, 1);
      sheet.setRowVisible(0, false, GC.Spread.Sheets.SheetArea.viewport);
      for (var col = 0; col < sheet.getColumnCount(); col++) {
        sheet.setValue(0, col, sheet.getText(0, col, GC.Spread.Sheets.SheetArea.colHeader));
      }
      var fileName = 'export.csv';
      let options = {
        columnHeadersAsFrozenRows: false,
        encoding: 'UTF-8',
        rowDelimiter: '\r\n',
        columnDelimiter: ',',
        sheetIndex: 0
      };

      options.fileType = GC.Spread.Sheets.FileType.csv;
      spread.export(
        function (blob) {
          saveAs(blob, fileName);
        },
        function () {},
        options
      );
      sheet.deleteRows(0, 1);
回复 使用道具 举报
小菜鸡xx
初级会员   /  发表于:2023-11-10 14:27:52
6#
小菜鸡xx 发表于 2023-11-10 14:27
var sheet = spread.getActiveSheet();
      sheet.addRows(0, 1);
      sheet.setRowVisible(0, fa ...

你在本地的vue项目中试试
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-10 17:53:51
7#
小菜鸡xx 发表于 2023-11-10 14:27
你在本地的vue项目中试试

您好,我了解了您的问题所在,对于CSV的乱码问题,咱们不能直接用Excel打开,根因还是咱们所说的编码和解码没有对上的问题,建议通过Excel的CSV打开功能来打开文件。您可以参考这篇技术博客来理解该问题所在:https://gcdn.grapecity.com.cn/showtopic-196565-1-2.html
回复 使用道具 举报
小菜鸡xx
初级会员   /  发表于:2023-11-13 09:51:59
8#
Richard.Huang 发表于 2023-11-10 17:53
您好,我了解了您的问题所在,对于CSV的乱码问题,咱们不能直接用Excel打开,根因还是咱们所说的编码和解 ...

怎么设置正确的编码格式,我给每个客户建议通过Excel的csv打开功能?
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-13 11:26:15
9#
小菜鸡xx 发表于 2023-11-13 09:51
怎么设置正确的编码格式,我给每个客户建议通过Excel的csv打开功能?

您好,是的为了保证用户能够准确无误解决该乱码问题,建议用户通过Excel的指定编码功能来解决
image.png787123412.png
回复 使用道具 举报
小菜鸡xx
初级会员   /  发表于:2023-11-13 11:34:28
10#
Richard.Huang 发表于 2023-11-13 11:26
您好,是的为了保证用户能够准确无误解决该乱码问题,建议用户通过Excel的指定编码功能来解决

代码层面有什么好的方法规避这个问题?建议人不听啊
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部