在 C# 中写入和读取 excel 个文件

Writing and Reading excel files in C#

我正在编写一个程序,通过 selenium 网络驱动程序从网站获取数据。我正在尝试为我们的项目创建足球装置。 到目前为止,我完成了从网站上获取 日期和时间、团队名称和分数 。还在尝试写 txt 文件,但是写 txt 文件时有点乱

如何完成对 excel 文件的写入和读取? 我想这样写

Date-Time     First-Team   Second-Team    Score    Statistics
28/07 19:00   AM           AVB            2-1      Shot 13123 Pass 65465 ...
28/07 20:00   BM           BVB            2-2      Shot 13123 Pass 65465 ...
28/07 20:00   CM           CVB            2-3      Shot 13123 Pass 65465 ...

这是我的代码部分:

StreamWriter file = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\Test" + "\" + pathName + "\" + subFile + "\" + pathName + ".txt", false);

for (int k = 2; k > 1; k--)
{ 
     //doing some stuff
}

写作部分:

for (int x = 0; x <dT.Count; x++)
{
     file.Write(dateTime[x] + " " + firstTeam[x] + " "
                       + secondTeam[x] + " " + firstHalf[x] + " " + secondHalf[x] + " ")
     for (int i = 0; i < total_FS.Count(); i++)
     {
           int index = total_FS[i].Length;
           if (total_FS[i][index-1].ToString() != " " && total_FS[i] != "-")
           {
                 file.Write(total_FS[i]);
           }
           else
           {
                 SpaceC++;
                 if (total_FS[i][index - 1].ToString() == " ")
                 file.Write(total_FS[i]);
           }
           if (SpaceC == 9)
           {
                 file.Write("\n");
                 SpaceC = 0;
                 break;
           }
      }


}

有几个很酷的库可以用来轻松读写 excel 文件。您可以在项目中引用它们并轻松地 create/modify 电子表格。

EPPlus 对开发人员非常友好且易于使用。

NOPI

DocumentFormat.OpenXml 它为电子表格对象提供了强类型 类,并且似乎相当容易使用。

打开 XML Microsoft Office SDK 2.0 提供强类型 类 / 易于使用。

已关闭XML - 打开的简单方法XML ClosedXML 使开发人员更容易创建(.xlsx、.xlsm 等)文件。

SpreadsheetGear *付费 - 在 ASP.NET

中导入/导出 Excel 工作簿的库

不创建 XLS 文件,而是创建一个可以用 Excel 打开的 CSV 文本文件。字段以逗号分隔,每行代表一条记录。

field11,field12
field21,field22

如果一个字段包含内部逗号,则需要用双引号引起来。

"field11(row1,column1)", field12
field21, field22

如果字段中包含双引号,则需要进行转义。但是您可以使用 CsvHelper 来完成这项工作。从 Nuget

中获取

PM> Install-Package CsvHelper

有关如何使用它的示例。

using(var textWriter = new StreamWriter(@"C:\mypath\myfile.csv")
{
    var writer = new CsvWriter(textWriter);
    writer.Configuration.Delimiter = ",";

    foreach (var item in list)
    {
        csv.WriteField("field11");
        csv.WriteField("field12");
        csv.NextRecord();
    }
}

可以找到完整的文档 here