要求客户端以字节数组的形式发送Excel数据(将提供相同的API链接给客户端)
现在,当API收到字节数组时,我想转换为数据表以转换为XML。
下面是我尝试过的代码
public string ConvertExcelByteArraytoXML()
{
byte[] Excelbytes = null;
FileStream fs = File.OpenRead("C:\\PRATAP FOLDER\\test.xlsx");
BinaryReader binaryReader = new BinaryReader(fs);
Excelbytes = binaryReader.ReadBytes((int)fs.Length);
string CreateXMLFILE = string.Empty;
// the above code was to get byte array from excel
DataSet tempDataSet = new DataSet();
DataTable dt;
// Deserializing into datatable
using (MemoryStream stream = new MemoryStream(Excelbytes))
{
BinaryFormatter bformatter = new BinaryFormatter();
dt = (DataTable)bformatter.Deserialize(stream);
}
// Adding DataTable into DataSet
tempDataSet.Tables.Add(dt);
using (StringWriter sw = new StringWriter())
{
dt.WriteXml(sw);
CreateXMLFILE = sw.ToString();
}
return CreateXMLFILE;
}
在]处抛出错误>
dt = (DataTable)bformatter.Deserialize(stream);
{“输入流不是有效的二进制格式。起始内容(以字节为单位)是:50-4B-03-04-14-00-06-00-08-00-00-00-21-00-EB-7A-D2...“}
有人可以建议我在这里做错什么吗。
要求客户端以字节数组的形式发送Excel数据(将提供相同的API链接到客户端)现在,当API收到字节数组时,我要转换...
就像我在评论中提到的,您可以尝试以下代码来转换字节数组
到数据表。