C#获取文件基本信息,文件名称、修改时间、文件路径等

在C#中,我们可以使用System.IO库访问文件系统,以便读取和导出文件信息。我们可以使用类System.IO.DirectoryInfo和System.IO.FileInfo表示文件夹和文件。

以下是实现该目标所需的主要步骤:

1.创建一个新的控制台应用程序或任何其他.NET应用程序。

2.将System.IO库添加到应用程序中,以便我们可以访问文件系统。

using System.IO;

3.声明一个变量以保存文件夹路径。

string folderPath = @"C:\Users\Public\Documents";

在此示例中,我们将使用C:\Users\Public\Documents文件夹,但您可以根据需要更改路径。

4.创建一个类型为DirectoryInfo的对象,以便我们可以访问该文件夹中的文件。

DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);

5.使用GetFiles()方法获取该文件夹中的所有文件并保存到一个名为files的FileInfo数组变量中。

FileInfo[] files = directoryInfo.GetFiles();

现在我们有了代表该文件夹中所有文件的每个FileInfo对象。这些对象包含了我们需要的信息,例如文件名,修改日期和完整路径。

6.创建一个DataTable对象,以便我们可以将文件信息添加到其中,并最终导出到Excel或其他应用程序。

DataTable dtFiles = new DataTable();
dtFiles.Columns.Add("文件名称", typeof(string));
dtFiles.Columns.Add("修改日期", typeof(string));
dtFiles.Columns.Add("路径", typeof(string));

这将创建一个包含“文件名称”,“修改日期”和“路径”三个列的DataTable对象。

7.循环遍历files数组并将每个FileInfo对象的名称,修改日期和完整路径添加到dtFiles中。

foreach (FileInfo file in files)
{
    DataRow dr = dtFiles.NewRow();
    dr["文件名称"] = file.Name;
    dr["修改日期"] = file.LastWriteTime;
    dr["路径"] = file.FullName;
    dtFiles.Rows.Add(dr);
}

8.一旦完成循环,我们现在拥有一个包含所有文件信息的DataTable对象,我们可以将其导出到Excel或其他应用程序。

以下是逐行解释:

第4行获得指定文件夹的所有文件的“FileInfo”对象数组。

第7行创建一个新的DataTable,并添加列标题“文件名称”,“修改日期”和“路径”。

第10-16行,我们使用foreach循环遍历files数组,并将每个FileInfo对象的文件名,修改日期和路径添加到dtFiles对象中的新行。

最终,我们将导出DataTable对象以使其易于阅读和使用。

9.使用以下代码导出DataTable对象 dtFiles:

// 导出数据到Excel。
string fileName = @"文件列表.xlsx";
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), fileName);
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Add();
Excel._Worksheet worksheet = workbook.ActiveSheet;
for (int i = 1; i <= dtFiles.Columns.Count; i++)
{
    worksheet.Cells[1, i] = dtFiles.Columns[i - 1].ColumnName;
}
for (int i = 1; i <= dtFiles.Rows.Count; i++)
{
    for (int j = 1; j <= dtFiles.Columns.Count; j++)
    {
        worksheet.Cells[i + 1, j] = dtFiles.Rows[i - 1][j - 1].ToString();
    }
}
workbook.SaveAs(filePath);
workbook.Close();
excel.Quit();

借助Microsoft Excel的帮助,我们可以轻松地导出DataTable对象到Excel文件中。在此示例中,我们使用微软官方的Interop.Excel库以编程方式打开Excel文件,填充数据并将其保存到用户文档文件夹中。

你可能感兴趣的:(excel,c#,开发语言)