Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将.csv文件(Excel类型文件)数据写入c中的.csv文件(Excel类型文件)_C#_Asp.net - Fatal编程技术网

C# 将.csv文件(Excel类型文件)数据写入c中的.csv文件(Excel类型文件)

C# 将.csv文件(Excel类型文件)数据写入c中的.csv文件(Excel类型文件),c#,asp.net,C#,Asp.net,我有一个excel.csv文件,在单元格中包含以下格式的一些数据: NAME Address Contact Shoeb Lko 675567 Rajesh Banaras 7687678 .csv文件不是仅具有.csv扩展名的文本文件。这是一个使用Microsoft Excel文件制作的csv文件…对于测试,您也可以制作.csv文件。。。为此,1创建一个excel文件2打开此excel文件3转到“文件”菜单并单击“另存为”4在“另存为类型”中选择CSVComma separated选项

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

NAME Address Contact
Shoeb   Lko 675567
Rajesh  Banaras 7687678

.csv文件不是仅具有.csv扩展名的文本文件。这是一个使用Microsoft Excel文件制作的csv文件…对于测试,您也可以制作.csv文件。。。为此,1创建一个excel文件2打开此excel文件3转到“文件”菜单并单击“另存为”4在“另存为类型”中选择CSVComma separated选项:-现在这是.csv文件,我将从中读取内容,并将内容写入.csv文件

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

我使用的代码如下所示:


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

您可以尝试使用BinaryReader而不是StreamReader。还可以尝试按如下方式打开StreamReader:

   StreamReader("D:\FilesUploadedToTablet\drivers.csv", false);
看起来您只是在复制文件,而不是对其进行过滤或执行任何处理。为什么不直接使用文件。复制:

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

谢谢你们所有人建议我。。。 我得到了它的解决方案——我得到的解决方案写在下面:


我认为这个问题与CSV无关。可能是写权限或文件锁之类的主题。Server.MapPath的输出是什么?但是有些错误根本没有帮助。具体出了什么问题?您收到的错误消息是什么?实际上StreamWriter将StreamReader提供的内容写入.txt文件目标文件中,我将在其中编写得非常好,但我想使用.csv文件作为目标文件,我将在其中写入,然后它将不起作用,也不会产生任何错误。如果我使用.txt文件作为目标文件,并且必须在其中写入.csv文件,那么给定的代码是可以的。文件路径也正确..csv文件不是只有.csv扩展名的文本文件。这是一个使用Microsoft Excel文件制作的csv文件…对于测试,您也可以制作.csv文件。。。为此,1创建一个excel文件2打开此excel文件3转到“文件”菜单并单击“另存为”4在“另存为类型”中选择CSVComma separated选项:-现在这是一个.csv文件,我将从中读取内容并以.csv文件的形式写入内容。fyi:csv是一种文本文件格式。如果它不是文本文件,则它不是CSV文件。它与创建时使用的内容完全无关..csv文件不是一个只有.csv扩展名及其内容用逗号分隔的文本文件。它是一个使用Microsoft Excel文件制作的csv文件。该文件中的单元格包含数据。对于测试,您还可以制作.csv文件。。。为此,1创建excel文件2打开此excel文件3转到“文件”菜单并单击“另存为”4在“另存为类型”中选择CSVComma separated选项:-现在这是.csv文件,我将从中读取内容并将内容写入.csv文件。当StreamReader从.csv文件读取数据时,它会自动附加逗号,在每一行的每个单元格内容之后,并在每一行之后\r\n追加。StreamReader返回的上述给定数据为姓名、地址、联系人\r\nShoeb、Lko、675567r\nRajesh、Banaras、7687678 StreamWriter无法理解逗号表示下一个单元格,\r\n表示.csv文件中的新行。所以它不写在.csv文件中,它只写在.txt文件中。你能剪切复制粘贴D:\files uploadedtotablet\drivers.csv的前几行吗?28罗伯特伦敦s-02 80詹姆斯·巴纳拉斯s-01 17米尔顿美国s-01 62拉贾日本s-01 72卡普尔比哈尔G-2006-01这个文件中没有逗号;StreamReader本身无法添加逗号。
  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();