话不多说直接上代码
/// <summary>
/// 转成 csv 文件
/// </summary>
/// <param name="table"></param>
/// <param name="file"></param>
public void DataTableToCsv(DataTable table, string file)
{
string title = "";
FileStream fs = new FileStream(file, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(new BufferedStream(fs), System.Text.Encoding.Default);
for (int i = 0; i < table.Columns.Count; i++)
{
//Console.WriteLine(table.Columns[i].ColumnName);
//title += table.Columns[i].ColumnName + "\t"; //栏位:自动跳到下一单元格
title += table.Columns[i].ColumnName + "\t"; //栏位:自动跳到下一单元格
}
title = title.Substring(0, title.Length - 1) + "\n";
sw.Write(title);
foreach (DataRow row in table.Rows)
{
string line = "";
for (int i = 0; i < table.Columns.Count; i++)
{
line += row[i].ToString().Trim() + "\t"; //内容:自动跳到下一单元格
}
line = line.Substring(0, line.Length - 1) + "\n";
sw.Write(line);
}
sw.Close();
fs.Close();
}
调用方法很简单,要生成csv文件文件名直接后缀 .CSV
要生成execl 文件直接 .xls
下面是简单的调用方式
/// <summary>
/// 保存到execl
/// </summary>
/// <param name="path"></param>
public static void SaveExecl(string path)
{
string jsonStr = File.ReadAllText(path);
var data = JsonHelper.Deserialize<FbDataModel>(jsonStr);
DataTable dt = new DataTable();
dt.Columns.Add("序号", typeof(long));
dt.Columns.Add("名字", typeof(string));
dt.Columns.Add("时间", typeof(string));
dt.Columns.Add("粉丝", typeof(string));
dt.Columns.Add("追随", typeof(string));
dt.Columns.Add("评论", typeof(string));
dt.Columns.Add("转发", typeof(string));
dt.Columns.Add("喜欢", typeof(string));
dt.Columns.Add("类型", typeof(string));
dt.Columns.Add("内容", typeof(string));
long index = 0;
foreach (var item in data)
{
foreach (var dataItem in item.datas)
{
DataRow dr = dt.NewRow();
index++;
dr["序号"] = index;
dr["名字"] = item.name;
dr["时间"] = dataItem.time;
dr["粉丝"] = item.likePeopleCount;
dr["追随"] = item.followPeopleCount;
dr["评论"] = dataItem.pingLunCount;
dr["转发"] = dataItem.zhuanFaCount;
dr["喜欢"] = dataItem.loveCount;
dr["类型"] = dataItem.type;
dr["内容"] = dataItem.text;
dt.Rows.Add(dr);
}
}
var tool = new ExcelTools();
tool.DataTableToCsv(dt, @"C:\Users\MI\Desktop\json\fb.xls");
}