找回密码
 立即注册

QQ登录

只需一步,快速开始

bingdaoice

中级会员

44

主题

208

帖子

608

积分

中级会员

积分
608
bingdaoice
中级会员   /  发表于:2020-7-2 10:39  /   查看:4925  /  回复:10
1金币
使用GrapeCity Spread Designer打开XML文件时提示:无法加载外部文件。(图一)
附件有我上传的XML,请帮我看看是怎么回事呢?
在系统中使用 Spread_RecdCertif.Open(p_certif.GetRecdTempFile(b_templet.tpId, true));是可以打开的(图二)。
并且在系统中使用fpSpreadDesigner也是可以打开的(图三)。
FarPoint.Win.Spread.FpSpread Spread_Excel = Spread_RecdCertif;
            fpSpreadDesigner.ShowDialog(Spread_Excel);
image.png897942504.png

image.png647693175.png

image.png777274169.png


13.rar

20.26 KB, 下载次数: 64

10 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-2 14:34:28
沙发
1.这个xml文件是如何生成的,是由设计器保存的还是其他的操作
2.使用Open方法我这边也未能打开,你里面的参数最终还是提供文件名称吗,还是文件流
回复 使用道具 举报
bingdaoice
中级会员   /  发表于:2020-7-2 16:14:33
板凳
此文件我是通过系统打开,并调用fpSpreadDesigner设计器,并使用fpSpreadDesigner设计器保存的。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-2 17:45:10
地板
通过系统打开是说通过Spread控件吗,打开的一个excel文件还是其他的?
是的话请发一下原文件
回复 使用道具 举报
bingdaoice
中级会员   /  发表于:2020-7-3 08:52:47
5#
本帖最后由 bingdaoice 于 2020-7-3 08:56 编辑

通过系统打开是Spread控件打开,Spread是可以打开这个文件的。(附件有这个文件:126.rar)
但是GrapeCity Spread Designer就打不开(同一个文件)。
我录制了一个视频你可以看看。

QQ录屏20200703084938.rar

10.99 MB, 下载次数: 68

126.rar

20.34 KB, 下载次数: 64

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-3 11:56:29
6#
你那边问题的现象之前已经确认了
我目前使用Spread控件直接打开xml文件显示的是空白,
  1. fpSpread1.OpenExcel(odlg.FileName);
复制代码

因为我这边重现的结果和你的不一致,所以麻烦还是提供一下完整代码,以判断是否是代码导致的结果,我看到你目前是已经做了一个项目,如果不方便的话也可以另外提供一个demo来说明

另外对于126.xml在设计器打开错误的问题,我需要确定此文件是如何生成的,以判断错误原因。

方便的话你可以私信我个电话,我直接电话联系你解决问题,或者拨打以下电话029-8833 1988-220

image.png505181273.png
回复 使用道具 举报
bingdaoice
中级会员   /  发表于:2020-7-3 14:49:25
7#
用手机拨打029-8833 1988-220此电话提示空号。。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-3 16:37:02
8#
刚才和您电话沟通的情况来看,目前因为你这边也是测试出了两种结果,这个你那边可以再对比一下看看两个项目在什么地方不同

另外,请将电话沟通中提到的原始的xml文件上传上来,这个文件你那边加载没有问题
回复 使用道具 举报
bingdaoice
中级会员   /  发表于:2020-7-3 17:14:00
9#
谢谢版主的耐心解答及电话指导!
我的获取数据库数据并生成XML文件的关键代码如下(附件有生成的XML文件):

       Spread_RecdCertif.Open(p_certif.GetRecdTempFile(b_templet.tpId, true));

        public string GetRecdTempFile(int pTpId, bool Delete)
        {
            string RecdPath = AppEnvironment.Config.CertifTemplatePath + pTpId.ToString() + ".xml";
            if (File.Exists(RecdPath))
            {
                if (Delete == true)
                    System.IO.File.Delete(RecdPath);
                else
                    return RecdPath;
            }
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = AppEnvironment.conDatabase;
            cmd.CommandText = "SELECT tpContent FROM b_templet where tpId=" + pTpId.ToString();
            cmd.CommandType = CommandType.Text;
            try
            {
                if (AppEnvironment.conDatabase.State == ConnectionState.Closed)
                {
                    AppEnvironment.conDatabase.Open();
                }
                object obj = cmd.ExecuteScalar();
                byte[] bin = (byte[])obj;
                using (FileStream fs = new FileStream(RecdPath, FileMode.Create, FileAccess.Write))
                {
                    fs.Write(bin, 0, bin.Length);
                    fs.Dispose();
                    fs.Close();
                    cmd.Connection.Close();                    
                    return RecdPath;
                }

            }
            catch (Exception err)
            {
                MessageBox.Show("获取到的模板文件有错误,请检查编号为:" + pTpId + "的模板文件!" + err.Message);
                return "";
            }
        }



126.rar

20.34 KB, 下载次数: 73

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-3 18:23:32
10#
收到, 我验证后给您回复
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部