Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 在C中将文件目录转换为逗号分隔的值#_C#_Asp.net - Fatal编程技术网

C# 在C中将文件目录转换为逗号分隔的值#

C# 在C中将文件目录转换为逗号分隔的值#,c#,asp.net,C#,Asp.net,我有目录@“c:\dom\”,其中有100多个excel文件。 我需要以以下格式(CSV)返回所有excel文件路径 @“C:\dom\dom1.xlsx”, @“C:\dom\dom2.xlsx”, @“C:\dom\dom3.xlsx”, . . . @“C:\dom\dom100.xlsx” 我试过下面的方法 string[] array1 = Directory.GetFiles(@"C:\Users\dom\"); foreach (string name in array1)

我有目录@“c:\dom\”,其中有100多个excel文件。 我需要以以下格式(CSV)返回所有excel文件路径

@“C:\dom\dom1.xlsx”,
@“C:\dom\dom2.xlsx”,
@“C:\dom\dom3.xlsx”,
.
.
.
@“C:\dom\dom100.xlsx”

我试过下面的方法

 string[] array1 = Directory.GetFiles(@"C:\Users\dom\");
 foreach (string name in array1)
 {
    string.Join(",", name);
 }

它不起作用。

下面列举了这些文件,然后将它们转换为CSV字符串

var filePaths = Directory.EnumerateFiles(@"C:\Users\dom\");
var csv = String.Join("," + Environment.NewLine, filePaths);
请注意,如果不需要后面的逗号,可以按如下方式修改连接:

var filePaths = Directory.EnumerateFiles(@"C:\Users\dom\");
var csv = String.Join(Environment.NewLine, filePaths);

下面列举了这些文件,然后将它们转换为CSV字符串

var filePaths = Directory.EnumerateFiles(@"C:\Users\dom\");
var csv = String.Join("," + Environment.NewLine, filePaths);
请注意,如果不需要后面的逗号,可以按如下方式修改连接:

var filePaths = Directory.EnumerateFiles(@"C:\Users\dom\");
var csv = String.Join(Environment.NewLine, filePaths);
简单的解决方案:

    string[] array1 = Directory.GetFiles(@"C:\Users\dom\");
    string csv = String.Empty;
    foreach (string name in array1.Where(x => x.EndsWith("xlsx")))
        csv += name + ",\r\n";
简单的解决方案:

    string[] array1 = Directory.GetFiles(@"C:\Users\dom\");
    string csv = String.Empty;
    foreach (string name in array1.Where(x => x.EndsWith("xlsx")))
        csv += name + ",\r\n";

您的代码不起作用的原因是,您遗漏了一个变量来存储从
string.Join(“,”,name)行返回的结果

因此,使用
Directory.GetFiles()
绝对不是问题

不管怎样,实际上您只需要不超过1行代码

// to export it into a csv file (1 entry per row)
File.WriteAllText(@"C:\output.csv", string.Join(Environment.NewLine, Directory.GetFiles(@"C:\Users\dom\")));

您的代码不起作用的原因是,您遗漏了一个变量来存储从
string.Join(“,”,name)行返回的结果

因此,使用
Directory.GetFiles()
绝对不是问题

不管怎样,实际上您只需要不超过1行代码

// to export it into a csv file (1 entry per row)
File.WriteAllText(@"C:\output.csv", string.Join(Environment.NewLine, Directory.GetFiles(@"C:\Users\dom\")));

使用此函数,只需将文件夹路径作为请求的参数

    public static string GetFilePathConcenated(string folderPath)
    {
        if (Directory.Exists(folderPath){
            string[] fileList = Directory.GetFiles(folderPath);
            return string.Join(",", fileList).TrimEnd(',');
        }
        return string.Empty;
    }

使用此函数,只需将文件夹路径作为请求的参数

    public static string GetFilePathConcenated(string folderPath)
    {
        if (Directory.Exists(folderPath){
            string[] fileList = Directory.GetFiles(folderPath);
            return string.Join(",", fileList).TrimEnd(',');
        }
        return string.Empty;
    }

这将在值后创建逗号,而不是逗号分隔的值。这将在值后创建逗号,而不是逗号分隔的值