这种方式相对于调用 Excel 组件要简单许多,对仅储存数据,而数据格式要求又不高的情况比较适用。
CODE:
private void ExportDatatableToExcel(string filePath, DataTable dt)
{
StreamWriter sw = null;
try
{
// 加上编码格式解决中文乱码的问题
sw = new StreamWriter(filePath, false, System.Text.Encoding.Default);
StringBuilder sb = new StringBuilder();
// 表头
foreach (DataColumn dc in dt.Columns)
{
sb.Append(dc.ColumnName.ToString()).Append("\t");
}
sw.WriteLine(sb);
sw.Flush();
// 内容
foreach (DataRow dr in dt.Rows)
{
sb = new StringBuilder();
foreach (DataColumn dc in dt.Columns)
{
sb.Append(dr[dc].ToString()).Append("\t");
}
sw.WriteLine(sb);
sw.Flush();
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
sw.Close();
}
}