C# 无法将类型为“System.Byte[]”的对象强制转换为类型“System.Data.DataTable

byte[]strbyte=newWebClient().DownloadData(str);//File.WriteAllBytes("D:\\我的文档\\桌面\\a.... byte[] strbyte = new WebClient().DownloadData(str);
// File.WriteAllBytes("D:\\我的文档\\桌面\\a.xls", strbyte);
//MessageBox.Show("ok");
//MemoryStream bytememorystream = new MemoryStream(System.Text.Encoding.Default .GetBytes("<?xml version = \"1.0\" encoding =\"iso-8859-1\"?>"+ strbyte));
MemoryStream bytememorystream = new MemoryStream();
BinaryFormatter binaryformatter = new BinaryFormatter();
binaryformatter.Serialize(bytememorystream, strbyte);
bytememorystream.Position = 0;
dt = (DataTable)binaryformatter.Deserialize(bytememorystream);
/*
System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(bytememorystream);
dt.ReadXml(xtr);
dt.ReadXml(bytememorystream);
* /
从网站上抓取到了数据,放在 byte[] strbyte 里,如何放到DataTable中?

急!!!!!!!!!!!!!!!!!
不知道,我所有从网站下载的XLS文件或直接用此程序下载的XLS文件都要经过复制后程序才能读取,要不然显示“外部表不是预期的格式”,网上也是这么说的。我的EXCEL版本是2003, 我用此程序生成的EXCEL文件也不能直接读取,要复制之后才可以的。
展开
 我来答
匿名用户
2012-06-06
展开全部
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
DataTable dt= bf.Deserialize(new System.IO.MemoryStream(strdata)) as DataTable;
追问
二进制流“219”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改。  用您的语句后出现这个错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FantasyChump
2012-06-06 · TA获得超过3287个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2226万
展开全部
你确定strdata里面的数据是一个datatable序列化后的数据吗?
更多追问追答
追问
strbyte 不是序列后的数据,是从网站抓取下来的new WebClient().DownloadData(str);要把它放到datatable里去。
追答
要放到datatable里面去?那你自己新建啊,为啥要用反序列化?反序列化不是干这个事儿的。反序列化的意思是,如果你原始数据是一个datatable对象序列化出来的,那么可以通过反序列化还原这个原始的对象和它的内容。你这里应该自己建对象自己放值进去。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国英001
2012-06-06 · 超过16用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:61.4万
展开全部
他俩类型不匹配。你得转换一下类型。
更多追问追答
追问
我不知道如何转换啊! 他们分别是什么类型
追答
一个byte ,一个 DataTable。你转换成一个类型。在网上找下类型转换就有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式