找回密码
 立即注册

QQ登录

只需一步,快速开始

yimi020103

金牌服务用户

31

主题

105

帖子

278

积分

金牌服务用户

积分
278

活字格认证微信认证勋章元老葡萄

yimi020103
金牌服务用户   /  发表于:2015-7-3 09:03  /   查看:5933  /  回复:5
Spread用流方式打开xml文件时报错,堆栈中抛出的异常信息如下:
************** 异常文本 **************
System.Reflection.TargetException: 对象与目标类型不匹配。
   在 FarPoint.Win.Spread.Model.SpreadSerializer.OpenXml(FpSpread spread, Stream stream)
   在 FarPoint.Win.Spread.FpSpread.Open(Stream stream)
下面信息都是我们程序中的方法了,
我们直接调用的方法是FarPoint.Win.Spread.FpSpread.Open(Stream stream);

在我的机子上不报错,但是在其他人的机器上报错。这个是什么原因呢?

5 个回复

倒序浏览
yimi020103
金牌服务用户   /  发表于:2015-7-3 09:11:00
沙发
补充:以下是我打开xml文件的语句:
_FileStreamE = new FileStream(strTemplatePath, System.IO.FileMode.Open);
            _FpSpread1.Open(_FileStreamE);
            _FileStreamE.Close();
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-3 09:53:00
板凳
您好,
您可以先看下http://gcdn.gcpowertools.com.cn/showtopic-12712.html里面的例子程序。
这个程序是把Spread保存到流对象,然后加载流到Spread。
您可以尝试下,是否能够解决您的问题,

如果没有解决,您是否方便上传一个能够重现这个问题的例子程序,以方便重现问题。
回复 使用道具 举报
yimi020103
金牌服务用户   /  发表于:2015-7-3 10:25:00
地板
回复 3楼frank.zhang的帖子

您的意思是说报错是因为用流的方式打开,但是不是以流的方式保存么?
我看了一下我用的是普通的保存文件方法:fpSpread1.Save(strFileName, false);
普通文件的保存需要考虑文件的编码方式么?普通文件的保存有默认的编码方式么?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-3 14:32:00
5#
您好,
我按照以下步骤操作,没有能够重现问题,您看下我是否漏掉了一些操作.

  1.         private void 加载流文件ToolStripMenuItem_Click(object sender, EventArgs e)
  2.         {
  3.             String strTemplatePath = @"..\..\test.xml";
  4.             FileStream FileStreamE = new FileStream(strTemplatePath, System.IO.FileMode.Open);
  5.             fpSpread1.Open(FileStreamE);
  6.             fpSpread1.Invalidate();
  7.         }
复制代码



spread_win_stream.zip (52.45 KB, 下载次数: 288)
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-20 10:15:00
6#
为了给你提供更优质的服务,请对本次服务进行评分。
我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部