C#:作为日志文件插入Excel

时间:2016-02-01 13:53:34

标签: c# excel closedxml

是否有任何特定方法为我的函数创建日志文件。所有这些功能都是测试用例。我使用以下代码添加数据。

string pathfile = @"data source location";
XLWorkbook workbook = new XLWorkbook(pathfile);
IXLWorksheet worksheet = workbook.Worksheet("Common");
worksheet.Cell("A2").Value = "1";
worksheet.Cell("B2").Value = "Test Case # 1";
worksheet.Cell("C2").Value = "1/29/2016 6:18:56 PM";
worksheet.Cell("D2").Value = "1/29/2016 6:19:56 PM";
worksheet.Cell("E2").Value = "1 minute";
workbook.Save();

现在我必须在每个函数中指定这个。还有其他更好,更好的方法来创建excel日志文件吗?

Excel日志文件示例

+------+-------------------+-------------------------+---------------------------+---------------+
|  ID  | Testcases No.     |        Start Time       |         End Time          |   Total Time  |  
+------+-------------------+-------------------------+---------------------------+---------------+
|  1   | Test Case # 1     |   1/29/2016 6:18:56 PM  |   1/29/2016 6:19:56 PM    |   1 minute    |  
+------+-------------------+-------------------------+---------------------------+---------------+
|  2   | Test Case # 2     |   1/29/2016 6:20:50 PM  |   1/29/2016 6:25:50 PM    |   5 minutes   |
+------+-------------------+-------------------------+---------------------------+---------------+  

程序使用:

  1. Selenium

  2. 单元测试类

  3. Nunit运行我的应用程序

4 个答案:

答案 0 :(得分:1)

作为开发人员,您应该或应该构建一个实用类的项目。您可以在没有项目/公司的框架下生活的日常工作。

即加密,电子邮件,数据访问,记录

通过这种方式,您的公司或您个人可以将此项目放入您的项目中,并立即拥有丰富的功能。

我觉得使用Excel来完成这个简单的日志记录任务有点重要

那么为什么你不使用最好的一个,即Net4Logger http://www.codeproject.com/Articles/140911/log-net-Tutorial

答案 1 :(得分:0)

一个很简单的方法是简单地创建一个数据表,然后使用closedxml将它导出到excel(你已经标记了,所以我假设你已经有了这个库)

XLWorkbook workbook = new XLWorkbook();
DataTable dt = //insert your datasource here
workbook.Worksheets.Add(dt,"WorksheetName");

参考Here

答案 2 :(得分:0)

Takarii建议的另一种选择。

如果您将数据存储在DataTableList<>中,然后使用我的免费C#库,则可以使用Microsoft OpenXML库创建真正的.xlsx文件。

Export to Excel

您只需添加一行代码,说明您的数据存储位置以及您想要调用Excel文件的内容:

List<YourLogEntryClass> listOfLogRecords = new List<YourLogEntryClass>();

. . . 

CreateExcelFile.CreateExcelDocument(listOfLogRecords, "LogFile.xlsx");

P.S。一个更明智的想法可能是将日志条目存储在Excel文件中,而是使用类似log4net的东西,它为您查找所有这些日志信息/错误字符串...

答案 3 :(得分:-2)

是否有任何理由不接受该代码块,并将其分解为一个单独的函数,该函数将文件位置,id等作为参数?

e.g。

public void LogTest(string fileLocation, int id, float minutes)
{
    // your code 
}