You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#脚本中添加.csv文件支持以同时下载.xlsx和.csv文件

实现同时下载.xlsx和.csv格式文件的整合方案

需求背景

当前脚本仅支持下载.xlsx格式文件,需扩展功能实现同时下载.xlsx和.csv两种格式文件。此前尝试过单独处理.csv的代码,但希望将该功能整合到原有脚本结构中。

原有脚本结构

string extn = ".xlsx";

public void Main()
{
    List<FileInfo> geFiles(string path, string extn, string BOT_StaggingFolder);
}

尝试过的单独处理代码

string extn = ".xlsx";       

public void Main()
{
    // 我尝试过这段代码: 
    var sourceDir = @"z:\sourcedir"; 
    var destDir = @"R:\targetdir"; 
    var pattern = "*.csv";

    foreach (var file in new DirectoryInfo(sourceDir).GetFiles(pattern)) 
    {
        file.CopyTo(Path.Combine(destDir, file.Name));
    }
}

整合后的解决方案

通过修改原有方法的参数和逻辑,实现批量处理两种格式文件:

// 定义需要处理的两种文件扩展名
List<string> targetExtensions = new List<string> { ".xlsx", ".csv" };

public void Main()
{
    string sourceDir = @"z:\sourcedir";
    string destDir = @"R:\targetdir";
    // 调用修改后的方法处理两种格式文件
    GetFiles(sourceDir, targetExtensions, destDir);
}

// 修改方法以支持多扩展名处理
List<FileInfo> GetFiles(string sourcePath, List<string> extensions, string targetFolder)
{
    List<FileInfo> matchedFiles = new List<FileInfo>();
    DirectoryInfo sourceDirInfo = new DirectoryInfo(sourcePath);

    // 确保目标文件夹存在,不存在则创建
    if (!Directory.Exists(targetFolder))
    {
        Directory.CreateDirectory(targetFolder);
    }

    // 遍历每个扩展名,获取对应文件并复制到目标路径
    foreach (string ext in extensions)
    {
        foreach (FileInfo file in sourceDirInfo.GetFiles($"*{ext}", SearchOption.TopDirectoryOnly))
        {
            string destFilePath = Path.Combine(targetFolder, file.Name);
            // 如需覆盖已存在文件,将CopyTo的第二个参数设为true:file.CopyTo(destFilePath, true)
            file.CopyTo(destFilePath);
            matchedFiles.Add(file);
        }
    }

    return matchedFiles;
}

关键修改说明

  • 将原来的单个扩展名变量改为List<string>类型,同时包含.xlsx和.csv
  • 修改GetFiles方法的参数为扩展名列表,实现批量遍历处理
  • 新增目标文件夹自动创建逻辑,避免因文件夹不存在导致的报错
  • 保留了返回匹配文件列表的原有功能,同时完成文件复制操作

内容的提问来源于stack exchange,提问作者user1231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:30:00