请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

jin.ye

金牌服务用户

97

主题

207

帖子

816

积分

金牌服务用户

积分
816
jin.ye
金牌服务用户   /  发表于:2023-9-12 16:48  /   查看:2500  /  回复:7
1金币
本帖最后由 Lynn.Dou 于 2024-1-24 17:46 编辑

产品:GcExcel
版本:v6.2.1
问题编号:DOCXLS-8901
LastReview:2023/12/12
该问题已经在V6.2.5版本修复。

public static void main(String[] args) {
    String path1 = "L:\\test\\test.xlsx";
    String path2 = "L:\\test\\货币资金.xlsx";
    FileOutputStream fos = null;
    try {
        Workbook wk = new Workbook();
                wk.open(path1);
        IWorksheets iWorksheets = wk.getWorksheets();
        int count = iWorksheets.getCount();
        Workbook wk1 = new Workbook();
        wk1.open(path2);
        IWorksheets iWorksheets1 = wk1.getWorksheets();
        IWorksheet copySheet = iWorksheets1.get(0).copyAfter(iWorksheets.get(count - 1));
        copySheet.setName("copyName");
        fos = new FileOutputStream(path1);
        wk.save(fos);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != fos) {
            try {
                fos.close();
            } catch (Exception var2) {
            }
        }
    }
}
将文件【货币资金.xlsx】中的sheet复制到【test.xlsx】中,打开【test.xlsx】异常,怎么做才能不会出现这个异常

image.png538445128.png

货币资金.xlsx

13.25 KB, 下载次数: 603

test.xlsx

6.51 KB, 下载次数: 599

7 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-12 17:49:06
沙发
问题收到,这边复现一下,后续有进展我会在本帖中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-13 15:51:59
板凳
您好,该问题是由自定义视图导致的,请参考以下临时解决方案的代码:

        String path1 = GetPath("test.xlsx");
        String path2 = GetPath("货币资金.xlsx");   
        FileOutputStream fos = null;
        try {
            Workbook wk = new Workbook();
            wk.open(path1);
            IWorksheets targetSheets = wk.getWorksheets();
            int count = targetSheets.getCount();
            Workbook wk1 = new Workbook();
            wk1.open(path2);
            IWorksheets sourceSheets = wk1.getWorksheets();
            wk1.getCustomViews().get("李海 - 个人视图").delete();
            wk1.getCustomViews().get("ve - 个人视图").delete();
            wk1.getCustomViews().get("Administrator - 个人视图").delete();
            wk1.getCustomViews().get("饶海兵 - 个人视图").delete();
            IWorksheet copySheet = sourceSheets.get(0).copyAfter(targetSheets.get(count - 1));
            copySheet.setName("copyName");
            fos = new FileOutputStream(res);
            wk.save(fos);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (null != fos) {
                try {
                    fos.close();
                } catch (Exception var2) {
                }
            }
        }
回复 使用道具 举报
jin.ye
金牌服务用户   /  发表于:2023-9-14 09:03:09
地板
Joestar.Xu 发表于 2023-9-13 15:51
您好,该问题是由自定义视图导致的,请参考以下临时解决方案的代码:

        String path1 = GetPath(" ...

自定义视图  在Excel中怎么显示的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-14 12:10:27
5#
没太明白您的问题,您是想问自定义视图在Excel中如何查看吗?如果是的话,可以参考下图:

image.png88522032.png

如果不是,请您再详细描述一下您的问题。
回复 使用道具 举报
jin.ye
金牌服务用户   /  发表于:2023-9-14 13:29:16
6#
Joestar.Xu 发表于 2023-9-14 12:10
没太明白您的问题,您是想问自定义视图在Excel中如何查看吗?如果是的话,可以参考下图:

就是这个

另外,后续会解决自定义视图复制sheet导致文件损坏的问题吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-14 13:36:42
7#
jin.ye 发表于 2023-9-14 13:29
就是这个

另外,后续会解决自定义视图复制sheet导致文件损坏的问题吗

会的,等后续修复完毕,我会在本帖中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-11-24 14:24:24
8#
您好,该问题已在6.2.5版本中修复,您可以升级后再测试一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部