在 Visual Studio C# 中写入现有的 CSV 或 Excel 文件
本文关键字:CSV 文件 Excel Studio Visual | 更新日期: 2023-09-27 18:33:29
我希望能够不断更新CSV或Excel xlsx文件,也许真的使用NPOI或其他任何东西。我只需要完成以下工作。
我的代码示例如下,我正在捕获计时。代码正在使用硒。每次运行测试时,我都需要将这些计时导出到现有的 excel/csv 文件中,该文件将存储在我的 C: 驱动器上。我不想覆盖现有单元格,而是想每次在下一个空白行添加新计时。
我现有的 excel 文件只有 3 个标题列。这些将标题为"测试日期","测试名称","经过的时间"
[Test]
public void TimeForWebPagesToLoad()
{
IWebDriver driver = new FirefoxDriver();
DateTime currentDateTime = DateTime.Now;
var dateTime = currentDate.ToString();
var sw1 = Stopwatch.StartNew();
driver.Navigate().GoToUrl("http://www.google.com");
sw1.Stop();
Console.WriteLine("Time for Google to load is {0}", sw1.Elapsed);
var sw2 = Stopwatch.StartNew();
driver.Navigate().GoToUrl("http://www.facebook.com");
sw2.Stop();
Console.WriteLine("Time for Facebook to load is {0}", sw2.Elapsed);
/*TODO code to write the Elapsed time into excel
WriteToExcelMethod(dateTime, "Google Perf Test", sw1.Elapsed)
WriteToExcelMethod(dateTime, "Facebook Perf Test", sw2.Elapsed)
*/
Assert.IsTrue(sw1.Elapsed < TimeSpan.FromSeconds(10));
Assert.IsTrue(sw2.Elapsed < TimeSpan.FromSeconds(10));
}
这样的东西会起作用:
public static void WriteToExcelMethod(DateTime dt, string str, TimeSpan ts)
{
string path = @"c:'temp'MyTest.csv";
string line = String.Format(@"""{0}"",""{1}"",""{2}""", dt, str, ts);
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine(line);
}
}
使用 CSV 文件:
using (StreamWriter sw = new StreamWriter("pippo.csv", true))
{
sw.WriteLine(string.Format("{0};{1};{2}", DateTime.Now, "Google Perf Test", ws1.Elapsed));
sw.WriteLine(string.Format("{0};{1};{2}", DateTime.Now, "Facebook Perf Test", ws2.Elapsed));
}
您也可以使用文件类这是一个可以使用的小片段
var csv = new StringBuilder();
var newLine = string.Format("{0},{1},{2}", firstValue, secondValue, thirdValue);
csv.AppendLine(newLine);
File.AppendAllText(fileUrl, csv.ToString());
我希望这应该对你有用。