C#:作为日志文件插入到 Excel 中
本文关键字:插入 Excel 文件 日志 | 更新日期: 2023-09-27 18:32:42
有什么特定的方法可以为我的函数创建日志文件吗?所有这些函数都是作为测试用例。我正在使用下面的代码来添加数据。
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 |
+------+-------------------+-------------------------+---------------------------+---------------+
程序用途:
硒
单元测试类
Nunit 运行我的应用程序
作为开发人员,您应该拥有或应该构建实用程序类的项目。您可以没有的例程,甚至可以为您的项目/公司提供框架。
即密码学,电子邮件,数据访问,日志记录
这样,您的公司或您个人可以将此项目放入您的项目中,并立即拥有丰富的功能供您使用。
我发现在这个简单的日志记录任务中使用 Excel 有点繁重
那么为什么你不使用最好的一个,即Net4Loggerhttp://www.codeproject.com/Articles/140911/log-net-Tutorial
一个很好的简单方法是简单地创建一个数据表,然后使用 closedxml 将其导出到 excel(您已经标记了,所以我假设您已经有了库)
XLWorkbook workbook = new XLWorkbook();
DataTable dt = //insert your datasource here
workbook.Worksheets.Add(dt,"WorksheetName");
参考这里
Takarii建议的替代方案。
如果您将数据存储在DataTable
或List<>
那么使用我的免费 C# 库,您可以使用Microsoft OpenXML 库创建真正的.xlsx文件。
导出到Excel。
您只需要添加一行代码,说明数据的存储位置以及要调用 Excel 文件的内容:
List<YourLogEntryClass> listOfLogRecords = new List<YourLogEntryClass>();
. . .
CreateExcelFile.CreateExcelDocument(listOfLogRecords, "LogFile.xlsx");
附言 一个更明智的想法可能是不要将日志条目存储在 Excel 文件中,而是使用类似 log4net 的东西来为您处理所有这些日志记录信息/错误字符串......
有什么理由不采用该代码块,并将其分解为一个单独的函数,该函数将文件位置、id 等作为参数?
例如
public void LogTest(string fileLocation, int id, float minutes)
{
// your code
}