找回密码
 立即注册

QQ登录

只需一步,快速开始

jin.ye

金牌服务用户

92

主题

197

帖子

765

积分

金牌服务用户

积分
765
jin.ye
金牌服务用户   /  发表于:2023-3-18 20:15  /   查看:858  /  回复:7
public static void main(String[] args) {
    String path = "L:\\下载文件\\test.xlsx";
    FileInputStream fis = null;
    try {
        fis = new FileInputStream(path);
        Workbook wk = GcExcelWorkBookUtils.newWorkBook();
        wk.open(fis);
        System.out.println();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        IoUtil.close(fis);
    }
}
[size=13.0667px]Connected to the target VM, address: '127.0.0.1:58084', transport: 'socket'java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.NumberFormatException: For input string: "/OADate(NaN)/"        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        at com.grapecity.documents.excel.Workbook.a(Unknown Source)        at com.grapecity.documents.excel.Workbook.open(Unknown Source)        at com.grapecity.documents.excel.Workbook.open(Unknown Source)        at cn.com.bdo.dgCenter.service.GcExcelService.main(GcExcelService.java:2360)Caused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.NumberFormatException: For input string: "/OADate(NaN)/"        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        ... 5 moreCaused by: java.lang.IllegalArgumentException: java.lang.NumberFormatException: For input string: "/OADate(NaN)/"        at com.grapecity.documents.excel.o.c.ax.a(Unknown Source)        at com.grapecity.documents.excel.o.c.au.a(Unknown Source)        at com.grapecity.documents.excel.o.c.au.a(Unknown Source)        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        ... 6 moreCaused by: java.lang.NumberFormatException: For input string: "/OADate(NaN)/"        at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)        at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)        at java.lang.Double.parseDouble(Double.java:538)        at com.grapecity.documents.excel.o.c.ac.c(Unknown Source)        at com.grapecity.documents.excel.o.c.ac.r(Unknown Source)        at com.grapecity.documents.excel.o.c.ax.a(Unknown Source)        ... 10 moreDisconnected from the target VM, address: '127.0.0.1:58084', transport: 'socket'

test.xlsx

1.97 MB, 下载次数: 40

7 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-20 15:20:32
沙发
您好,
用微软打开此excel文件提示需要修复,这边测试修复后的文件是可以正常导入的,建议您修复后再做测试。
回复 使用道具 举报
jin.ye
金牌服务用户   /  发表于:2023-3-22 10:31:52
板凳
本帖最后由 jin.ye 于 2023-3-22 10:34 编辑
Lynn.Dou 发表于 2023-3-20 15:20
您好,
用微软打开此excel文件提示需要修复,这边测试修复后的文件是可以正常导入的,建议您修复后再做测 ...

经反复测试,原因由下:



var json = spread.toJSON();
excelIo.save(json, blob => {
        var formData = new FormData();
        formData.append('file', blob);
        $.ajax({
                url: '***',
                type: 'POST',
                data: formData,
                contentType: false,
                processData: false,
                success(data) {
                        
                }
        });
}, e => {
        console.log(e.errorMessage);
}, {
        fileType: GC.Spread.Sheets.FileType.excel,
        includeBindingSource: true
});

导出的文件不可用

附件为源文件




spread.export(function (blob) {

spread.export(function (blob) {
        var formData = new FormData();
        formData.append('file', blob);
        $.ajax({
                        url: '***',
                        type: 'POST',
                        data: formData,
                        contentType: false,
                        processData: false,
                        success(data) {
                                  
                        }
        });
}, e => {
        console.log(e.errorMessage);
}, {
        fileType: GC.Spread.Sheets.FileType.excel,
        includeBindingSource: true
});


用此方法导出可用

1401-0002-0001-材料采购查验.xlsx

2.52 MB, 下载次数: 32

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-22 15:04:40
地板
了解,这边先验证下,有结果贴中通知您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-23 11:22:44
5#
根据对您提供信息的理解,问题整理如下:
问题1: 如果通过 SpreadJS  excelIO.save 方式导出excel文件(此时的excel文件提示损坏),导出的excel文件不能直接在GcExcel 6.0.5打开
问题2: 如果通过 SpreadJS spread.export 方式导出excel文件,导出的excel文件可以正常在GcExcel 6.0.5打开

验证步骤如下:
本地测试使用SpreadJS V16.0.5 分别通过问题1、问题2两种方式导出了excel文件,
在Gcexcel都可以正常加载,未出现报错问题。
image.png977431335.png

综上,请提供一个原始的ssjson文件,这边排查下是否与json数据有关。
另,您使用的SpreadJS版本是多少,也可以尝试升级最新版本看看。
回复 使用道具 举报
jin.ye
金牌服务用户   /  发表于:2023-3-23 14:30:21
6#
本帖最后由 jin.ye 于 2023-3-23 14:55 编辑

Lynn.Dou 发表于 2023-3-23 11:22
根据对您提供信息的理解,问题整理如下:
问题1: 如果通过 SpreadJS  excelIO.save 方式导出excel文件( ...

这个文件使用excelIo.save导出后能正常使用Gc
使用spread.export导出后能使用Gc打开报错

Gc v6.0.5 sjs v16.0.5

public static void main(String[] args) {
    String path = "L:\\下载文件\\7002-0001-0001-其他流动资产明细表.xlsx";
    FileInputStream fis = null;
    try {
        fis = new FileInputStream(path);
        Workbook wk = GcExcelWorkBookUtils.newWorkBook();
        wk.open(fis);

        System.out.println();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        IoUtil.close(fis);
    }
}
[size=13.0667px]java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Invalid char.-        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        at com.grapecity.documents.excel.Workbook.a(Unknown Source)        at com.grapecity.documents.excel.Workbook.open(Unknown Source)        at com.grapecity.documents.excel.Workbook.open(Unknown Source)        at cn.com.bdo.dgCenter.service.GcExcelService.main(GcExcelService.java:2360)Caused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Invalid char.-        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        ... 5 moreCaused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Invalid char.-        at com.grapecity.documents.excel.o.c.ax.a(Unknown Source)        at com.grapecity.documents.excel.o.c.au.a(Unknown Source)        at com.grapecity.documents.excel.o.c.au.a(Unknown Source)        at com.grapecity.documents.excel.o.c.J.a(Unknown Source)        ... 6 moreCaused by: java.lang.IllegalArgumentException: Invalid char.-        at com.grapecity.documents.excel.o.c.ac.a(Unknown Source)        at com.grapecity.documents.excel.o.c.ac.n(Unknown Source)        at com.grapecity.documents.excel.o.c.ax.a(Unknown Source)        ... 10 moreDisconnected from the target VM, address: '127.0.0.1:64450', transport: 'socket'

[size=13.0667px]

[size=13.0667px]

7002-0001-0001-其他流动资产明细表.xlsx

20.62 KB, 下载次数: 22

回复 使用道具 举报
jin.ye
金牌服务用户   /  发表于:2023-3-23 14:59:28
7#
Lynn.Dou 发表于 2023-3-23 11:22
根据对您提供信息的理解,问题整理如下:
问题1: 如果通过 SpreadJS  excelIO.save 方式导出excel文件( ...

ssjson文件是哪样的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-23 17:55:49
8#
就是您使用excelIo.save 或者 spread.export 导出excel文件之前,SpreadJS通过toJSON可以获取到的另一种数据形式。
您参考下方步骤整理一个ssjson文件,这边需要排查下问题是否与数据有关:

如何提供ssjson文件:
1、使用spread.toJSON()导出json
2、新建txt文件,修改后缀为 .ssjson
3、将json粘贴,并将此文件上传。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部