C# 使用Excel的StreamReader和StreamWriter

C# 使用Excel的StreamReader和StreamWriter,c#,.net,excel,streamreader,streamwriter,C#,.net,Excel,Streamreader,Streamwriter,我需要一些指导 我正在使用StreamReader读取excel文件,然后使用StreamReader.ReadToEnd()将该文件转换为字符串;方法。然后我使用StreamWriter.write()方法将字符串写入文件系统上的不同位置 然后,我从先前编写的位置重新读取该文件。但是,我似乎正在读取一些垃圾值,无法从新位置打开excel文件 我在这里是不是做错了什么事来提交文件从而被破坏?我是否遗漏了与编码有关的内容 Excel文件是二进制文件StreamReader是一种TextReader

我需要一些指导

我正在使用StreamReader读取excel文件,然后使用StreamReader.ReadToEnd()将该文件转换为字符串;方法。然后我使用StreamWriter.write()方法将字符串写入文件系统上的不同位置

然后,我从先前编写的位置重新读取该文件。但是,我似乎正在读取一些垃圾值,无法从新位置打开excel文件


我在这里是不是做错了什么事来提交文件从而被破坏?我是否遗漏了与编码有关的内容

Excel文件是二进制文件
StreamReader
是一种
TextReader
,而
StreamWriter
是一种
TextWriter


二进制文件文本不一样。

Excel文件是二进制文件
StreamReader
是一种
TextReader
,而
StreamWriter
是一种
TextWriter


二进制文本不一样。

根据您使用的Excel格式,您会发现直接读/写非常痛苦。像NPOI这样的库使这更容易


读取/写入xlsx文件的版本仍然是beta版,但在我的使用中是稳定的。如果您需要xlsx格式的文件,请从他们的网站下载,而不是通过NuGet

根据您使用的Excel格式,您会发现直接读/写非常痛苦。像NPOI这样的库使这更容易


读取/写入xlsx文件的版本仍然是beta版,但在我的使用中是稳定的。如果您需要xlsx格式的文件,请从他们的网站下载,而不是通过NuGet

尝试使用
BinaryReader
BinaryWriter
,或者,如果您只想复制一个文件,
System.IO.file.copy
…尝试使用
BinaryReader
BinaryWriter
,或者,如果您只想复制一个文件,
System.IO.File.Copy
…我想你得到了那些向后的文本阅读器是一种StreamReader,而TextWriter是一种StreamWriter.Nope。是基类。非常感谢您的回答,现在我更改方法,从BinaryReader读取xls,然后将内容获取到字节数组,然后将其转换为字符串,并使用BinraryWriter将其写回其他位置。但是,我仍然无法使用Excel打开xls文件。它抱怨它不是excel文件。。它必须使用字节顺序标记吗?不要将其作为字符串写入。它不是一根弦。它是一系列字节。使用
File.Copy有什么问题吗?
文件是加密的,所以在将其写入新位置之前,我需要先对其进行解密。decrypt方法接受一个字符串。在尝试解密部分之前,我需要通过BinaryReader-->Convert to String-->BinaryWriter-->BinaryReader to work…,使其工作。。。。或者我遗漏了什么?我想你得到了那些向后的TextReader是一种StreamReader,TextWriter是一种StreamWriter.Nope。是基类。非常感谢您的回答,现在我更改方法,从BinaryReader读取xls,然后将内容获取到字节数组,然后将其转换为字符串,并使用BinraryWriter将其写回其他位置。但是,我仍然无法使用Excel打开xls文件。它抱怨它不是excel文件。。它必须使用字节顺序标记吗?不要将其作为字符串写入。它不是一根弦。它是一系列字节。使用
File.Copy有什么问题吗?
文件是加密的,所以在将其写入新位置之前,我需要先对其进行解密。decrypt方法接受一个字符串。在尝试解密部分之前,我需要通过BinaryReader-->Convert to String-->BinaryWriter-->BinaryReader to work…,使其工作。。。。还是我在这里遗漏了什么?