使用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文件,则内容写入成功。我做错了什么?
您可以尝试使用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();