在VS2017中用C#写一个类,包括两个函数,一个函数用来创建含有时间,UDS报文,是否测试通过的excel表格,另外一个函数逐行写入数据
时间: 2024-02-24 18:58:38 浏览: 60
好的,以下是一个示例的 C# 类,实现了你所需的两个函数:
```csharp
using System;
using System.IO;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExcelWriter
{
class ExcelWriter
{
private Excel.Application excelApp;
private Excel.Workbook workbook;
private Excel.Worksheet worksheet;
private int rowNumber;
public void CreateExcel(string filename)
{
// 创建 Excel 应用程序对象
excelApp = new Excel.Application();
// 创建一个新的工作簿
workbook = excelApp.Workbooks.Add();
// 获取工作簿中的第一个工作表
worksheet = workbook.ActiveSheet;
// 写入表头
worksheet.Cells[1, 1] = "时间";
worksheet.Cells[1, 2] = "UDS报文";
worksheet.Cells[1, 3] = "是否测试通过";
// 保存工作簿
workbook.SaveAs(filename);
// 关闭工作簿和 Excel 应用程序
workbook.Close();
excelApp.Quit();
}
public void WriteRow(string time, string uds, bool passed)
{
// 打开 Excel 工作簿
excelApp = new Excel.Application();
workbook = excelApp.Workbooks.Open(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\data.xlsx");
worksheet = workbook.ActiveSheet;
// 获取当前行号
rowNumber = worksheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row + 1;
// 写入数据
worksheet.Cells[rowNumber, 1] = time;
worksheet.Cells[rowNumber, 2] = uds;
worksheet.Cells[rowNumber, 3] = passed ? "是" : "否";
// 保存工作簿
workbook.Save();
// 关闭工作簿和 Excel 应用程序
workbook.Close();
excelApp.Quit();
}
}
}
```
其中,`CreateExcel` 函数用来创建一个新的 Excel 文件,包括时间、UDS报文和是否测试通过三列;`WriteRow` 函数用来逐行写入数据到 Excel 文件中。请注意,这里使用了 Microsoft.Office.Interop.Excel 库来操作 Excel 文件,需要通过 Visual Studio 的 NuGet 包管理器安装此库。
阅读全文