Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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# 读取多个excel文件_C#_Excel - Fatal编程技术网

C# 读取多个excel文件

C# 读取多个excel文件,c#,excel,C#,Excel,我是CSharp编程新手。我需要从一个文件夹中读取多个excel文件。我不知道那个文件夹里有多少excel文件。我想一个接一个地读所有的文件。为了读取单个文件,我编写了一些代码。我想应用此代码逐个读取文件夹中的所有文件。请让我知道路。这是我的密码 class RatWalk { public List<RatStep> steps = new List<RatStep>(); string[] Individal_Runs = Directory.GetF

我是CSharp编程新手。我需要从一个文件夹中读取多个excel文件。我不知道那个文件夹里有多少excel文件。我想一个接一个地读所有的文件。为了读取单个文件,我编写了一些代码。我想应用此代码逐个读取文件夹中的所有文件。请让我知道路。这是我的密码

class RatWalk
{
    public List<RatStep> steps = new List<RatStep>();
    string[] Individal_Runs = Directory.GetFiles(@"C:\Users\AG_Winter\Desktop\Individual_Runs");
    public void LoadFromFile(String fileName) // reads data from excel file
    {
        steps.Clear();
        XlsFile file = new XlsFile(fileName);
        try
        {
           // Everything I wanna do
        }
        catch (NullReferenceException ex)
        {
            Console.Out.WriteLine("No run");
        }
    }
}
}捕获{} }

在这里,我想更改它,当我单击按钮并选择文件夹时,它应该逐个运行文件夹中的所有文件

请让我知道怎么做


谢谢。

我会给你举个例子,剩下的就留给你来做了

string [] fileEntries = Directory.GetFiles(sourceDir);
foreach(string fileName in fileEntries)
{
   // do something with fileName
   Console.WriteLine(fileName);
}

顺便说一句,这不会通过子文件夹进行迭代。

我会给您举一个例子,剩下的事情由您来做

string [] fileEntries = Directory.GetFiles(sourceDir);
foreach(string fileName in fileEntries)
{
   // do something with fileName
   Console.WriteLine(fileName);
}
顺便说一句,这不会迭代子文件夹

  • 获取目标文件夹的路径
  • 获得文件夹后,按程序获取文件夹下的所有excel文件,并将其放入列表中
  • 您的代码可以读取一个excel文件,遍历excel文件列表并在循环中使用相同的函数
  • 使用系统;
    使用System.IO;
    名称空间文件操作示例
    {
    班级计划
    {
    静态void Main(字符串[]参数)
    {
    //将此路径更改为要读取的目录
    string path=“C:\\Junk”;
    DirectoryInfo dir=新的DirectoryInfo(路径);
    WriteLine(“文件名大小创建日期和时间”);
    Console.WriteLine(“=================================================================================================”);
    foreach(dir.GetFiles()中的FileInfo flInfo)
    {
    字符串名称=flInfo.name;
    长尺寸=长度;
    DateTime creationTime=flInfo.creationTime;
    WriteLine({0,-30:g}{1,-12:N0}{2}),名称、大小、creationTime);
    }
    Console.ReadLine();
    }
    }
    }
    
  • 获取目标文件夹的路径
  • 获得文件夹后,按程序获取文件夹下的所有excel文件,并将其放入列表中
  • 您的代码可以读取一个excel文件,遍历excel文件列表并在循环中使用相同的函数
  • 使用系统;
    使用System.IO;
    名称空间文件操作示例
    {
    班级计划
    {
    静态void Main(字符串[]参数)
    {
    //将此路径更改为要读取的目录
    string path=“C:\\Junk”;
    DirectoryInfo dir=新的DirectoryInfo(路径);
    WriteLine(“文件名大小创建日期和时间”);
    Console.WriteLine(“=================================================================================================”);
    foreach(dir.GetFiles()中的FileInfo flInfo)
    {
    字符串名称=flInfo.name;
    长尺寸=长度;
    DateTime creationTime=flInfo.creationTime;
    WriteLine({0,-30:g}{1,-12:N0}{2}),名称、大小、creationTime);
    }
    Console.ReadLine();
    }
    }
    }
    
    请您提供
    XlsFile
    代表什么?:)@PicrofoEGY:XlsFile是FelxCel库中的一个类,用于读取或写入xlsx文件…请提供
    XlsFile
    代表什么?:)@PicrofoEGY:XlsFile是FelxCel库中的一个类,用于读取或写入xlsx文件…我已通过以下方式尝试了上述方法。。public void LoadFromFile(字符串文件名){String[]Individual_Runs=Directory.GetFiles(@“C:\Individual_Runs”);foreach(Individual_Runs中的字符串IR){XlsFile file=new XlsFile(IR);我想做的一切}然后我想用一个按钮和一次点击的方法浏览目录,一个接一个地浏览每个文件。我的代码是:你是在问如何打开文件夹还是?有openFileDialog控件。检查google,然后解决它。我用以下方法尝试了上述方法..public void LoadFromFile(字符串文件名){string[]Individual_Runs=Directory.GetFiles(@“C:\Individual_Runs”);foreach(Individual_Runs中的字符串IR){XlsFile file=new XlsFile(IR);我想做的一切}然后我想用一个按钮和onclick方法浏览目录,一个接一个地浏览每个文件。我的代码是:你是在问如何打开文件夹还是?有openFileDialog控件。检查google,然后解决它。
    string [] fileEntries = Directory.GetFiles(sourceDir);
    foreach(string fileName in fileEntries)
    {
       // do something with fileName
       Console.WriteLine(fileName);
    }
    
            string[] Individal_Runs = Directory.GetFiles(@"D:\testfiles");
            foreach (string s in Individal_Runs)
            {
                try
                {
    String theConnString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + s + ";Extended Properties=Excel 8.0;";
    
        OleDbConnection objConn = new OleDbConnection(theConnString);
        objConn.Open();
    
        OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [sheet1$]", objConn);
        OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    
        objAdapter1.SelectCommand = objCmdSelect;
        DataSet objDataset1 = new DataSet();
        objAdapter1.Fill(objDataset1, "XLData");
    
         //Your code here
    
        objConn.Close();
    
    
                }
                catch (NullReferenceException ex)
                {
                    Console.Out.WriteLine("No run");
                }
            }