使用c#将.csv文件(Excel类型file)数据写入.csv文件(Excel类型file)

本文关键字:类型 file Excel 文件 csv 数据 使用 | 更新日期: 2023-09-27 17:49:33

我有一个excel .csv文件,在单元格中有以下格式的一些数据:

NAME Address Contact
Shoeb   Lko 675567
Rajesh  Banaras 7687678

.csv文件不是只有。csv扩展名的文本文件。这是一个使用Microsoft Excel文件制作的csv文件…为了测试,你也可以制作。csv文件…为此(1)创建一个excel文件(2)打开这个excel文件(3)转到文件菜单,点击"另存为"(4)选择CSV(逗号分隔)选项另存为类型:----现在这是。CSV文件,我将从中读取内容,并在。CSV文件中写入内容

我正在尝试使用c#以相同的格式编写另一个Excel .csv文件。

我使用的代码如下:

//Below line is reading file from system drive
    StreamReader rd = new StreamReader("D:'FilesUploadedToTablet'drivers.csv", true);
//Below line is writing data to file existing in our site folder
    StreamWriter wr = new StreamWriter(Server.MapPath(".") + "'filename'CSVFile.csv");
    wr.Write(rd.ReadToEnd());
    rd.Close();
    wr.Close();

这里StreamReader正在读取drivers.csv文件,但StreamWriter没有将该内容写入CSVFile.csv文件。如果我使用任何文本文件代替。csv文件,则内容写入成功。我做错了什么?

使用c#将.csv文件(Excel类型file)数据写入.csv文件(Excel类型file)

您可以尝试使用BinaryReader()而不是StreamReader()。也试着像下面这样打开StreamReader:

   StreamReader("D:'FilesUploadedToTablet'drivers.csv", false);

看起来你只是复制文件,没有过滤或执行任何处理。为什么不直接使用File。复制:

  File.Copy("D:'FilesUploadedToTablet'drivers.csv", Server.MapPath(".") + "'filename'CSVFile.csv");

感谢大家的建议…
我得到了它的解决方案-我得到的解决方案如下:

string csvContent = string.Empty; 
if (File.Exists("SourceFilePath")) 
{ 
    StreamReader rd = new StreamReader("SourceFilePath", true); 
    csvContent = rd.ReadToEnd(); 
    rd.Close(); 
    var DestPath = HttpContext.Current.Server.MapPath("~/CSV Files/")+"MyFile.csv";     
    StreamWriter wr = new StreamWriter(DestPath, true); 
    StringBuilder sb = new StringBuilder(csvContent); 
    wr.WriteLine(sb.ToString()); 
    sb.Clear(); 
    wr.Close();