CRVM-redis-6/client/ExportCsv.cs

84 lines
2.3 KiB
C#
Raw Normal View History

2025-11-07 02:02:31 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
namespace CRVM
{
class ExportToCSV
{
private string _filePath;
private bool _writeOK = false;
private StreamWriter writer;
public bool writeOK
{
get
{
return _writeOK;
}
}
public ExportToCSV(string filepath)
{
this._filePath = filepath;
}
public void writeProductData(DataTable data)
{
try
{
writer = new StreamWriter(new FileStream(_filePath, FileMode.OpenOrCreate), Encoding.Default);
string line = "";
for (int i = 0; i < data.Columns.Count; i++)//打印表头
{
//if (i != data.Columns.Count - 2)
{
line += data.Columns[i].ColumnName;
if (i != data.Columns.Count - 1)
{
line = line + ",";
}
}
}
writer.WriteLine(line);
for (int i = 0; i < data.Rows.Count; i++)
{
line = "";
for (int j = 0; j < data.Columns.Count; j++)
{
//if (j != data.Columns.Count - 2)//status列不打印
{
line = line + data.Rows[i][j].ToString().Trim();
if (j != data.Columns.Count - 1)
{
line = line + ",";
}
}
}
writer.WriteLine(line);
}
_writeOK = true;
}
catch (Exception ex)
{
_writeOK = false;
}
finally
{
writer.Close();
}
}
public string EncodingCovert(Encoding src, Encoding dest, string text)
{
var bytes = src.GetBytes(text);
bytes = Encoding.Convert(src, dest, bytes);
return dest.GetString(bytes);
}
}
}