C#以Excel格式编写
本文关键字:格式 Excel | 更新日期: 2023-09-27 18:25:51
我正在向我的方法传递一个参数,其中该参数的数据类型是字符串,但该字符串是二进制类型"UEsDBBQABgAIAAAIQDfz5sukgEAAJQGAATANwBW0NvbnRlbnRfVHlwZ",然后该参数将被写入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();
}
谢谢。
二进制数据无法按原样发送或用作text/string,原因是有些二进制数字无法用文本字符表示,同时有些二进制数字在字符串中具有不同的含义。
你可以做的是使用将其转换为字符串
- MIME(带Base64)
- UUEncode
- 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/
如果字节以字符串形式出现,请使用以下代码:
var base64EncodedBytes = System.Convert.FromBase64String(bytesAsString);
File.WriteAllBytes(fullPath, base64EncodedBytes);
希望这能有所帮助。