使用文件流的方式将 DataTable 导入到 Excel 中

这种方式相对于调用 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();
    }
}

posted on 2012-04-26 15:20  SkySoot  阅读(803)  评论(0编辑  收藏  举报

导航