1. 传参数调用外部exe程序
/// <summary>
/// 传参数调用外部exe程序
/// </summary>
/// <param name="exeFullPath"></param>
/// <param name="param"></param>
public void CallExe(string exeFullPath, string param)
{
//string exePath = "D:\\aaa\\bbb\\";
//string exeFileName = "123.exe";
//string exeFullPath = exePath + exeFileName;
Process proexe = Process.Start(exeFullPath, param);
}
2. CSV文件读写【需先Nuget安装CsvHelper库】
代码:
//1.定义:
public class FileHelper
{
/// <summary>
/// 将源数据写入csv文件
/// </summary>
/// <param name="csvFullPath"></param>
/// <param name="sourceData"></param>
public void WriteDataToCsv<T>(List<T> sourceData, bool hasHeader, string csvFullPath)
{
var cfg = new CsvConfiguration(CultureInfo.InvariantCulture)
{
HasHeaderRecord = hasHeader,
};
using (var writer = new StreamWriter(csvFullPath))
using (var csv = new CsvWriter(writer, cfg))
{
csv.WriteRecords(sourceData);
}
}
/// <summary>
/// 读取csv文件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="csvFullPath"></param>
/// <param name="hasHeader"></param>
/// <returns></returns>
public List<T> ReadCsv<T>(string csvFullPath, bool hasHeader)
{
var cfg = new CsvConfiguration(CultureInfo.InvariantCulture)
{
HasHeaderRecord = hasHeader,
};
using (var reader = new StreamReader(csvFullPath, Encoding.UTF8))
{
using (var csv = new CsvReader(reader, cfg))
{
return csv.GetRecords<T>().ToList();
}
}
}
}
//model:
public class Part
{
[CsvHelper.Configuration.Attributes.Name("编号")]
public int Id { get; set; }
[CsvHelper.Configuration.Attributes.Name("名称")]
public string Name { get; set; }
[CsvHelper.Configuration.Attributes.Name("描述")]
public string Description { get; set; }
}
//2.引用:
var records = new List<Part>()
{
new Part { Id = 1, Name = "one",Description="des1" },
new Part { Id = 2, Name = "two", Description = "des2" }
};
var fileHelper = new FileHelper();
//写入
fileHelper.WriteDataToCsv(records,true, "Reports\\file.csv");
//读取
var result = fileHelper.ReadCsv<Part>("Reports\\file.csv",true);
官方文档:
Examples | CsvHelperExamples | CsvHelperExamples | CsvHelper