快捷导出报表CSV文件(编辑是也能插入)
主要代码(创建一个类封装方便调用)
namespace ReportFormsDemo
{
public class CSVWriter
{
public const string BASE_DIR = "D:\\ReportFormsDemo_CSV\\";
private readonly ConcurrentDictionary<string, StreamWriter> mLockerMap = new ConcurrentDictionary<string, StreamWriter>();
private int mCanWrite = 1;
private static readonly CSVWriter instance = new CSVWriter();
private CSVWriter()
{
if (!Directory.Exists(BASE_DIR))
{
Directory.CreateDirectory(BASE_DIR);
}
}
public static CSVWriter Instance()
{
return instance;
}
~CSVWriter()
{
Interlocked.Exchange(ref mCanWrite, 0);
foreach (var pair in mLockerMap.ToArray())
{
pair.Value?.Close();
}
}
public void Write(string header