C# 写入 Excel

Chi*_*Sen 0 c# asp.net

我向我的方法传递一个参数,其中该参数的数据类型是字符串,但该字符串是二进制类型“UEsDBBQABgAIAAAAIQDfz5sukgEAAJQGAAATANwBW0NvbnRlbnRfVHlwZ”,例如,然后该参数将被写入excel格式。问题是,该文件可以创建,但由于格式无效而损坏。输入参数来自 Excel 文件,但以二进制形式读取。

我的示例代码是:

public void writeFile(String fileContent)
{       
    // Write the string to a file.
    StreamWriter file = new StreamWriter("c:\\test2.xlsx");
    BinaryWriter bw = new BinaryWriter(file);

    bw.Write(fileContent);

    bw.Close();
    file.Close();
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

Ari*_*tos 5

二进制数据不能按原样作为文本/字符串发送或使用它们,原因是有些二进制数无法用文本字符表示 - 同时某些二进制数在字符串中具有不同的含义。

您可以做的就是使用以下之一将其转换为字符串

  • MIME(使用 Base64)
  • UUE编码
  • XX编码

然后将其转换回二进制

asp.net 已准备好Convert.ToBase64String进行Convert.FromBase64String转换。

来自 asp.net 的转换函数:
http://msdn.microsoft.com/en-us/library/dhx0d524.aspx
http://msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx

自定义转换示例
http://www.csharp411.com/convert-binary-to-base64-string/