日期:2014-05-17  浏览次数:20842 次

导出Excel 第一行指定位置导出自定义标题
用下面方法导出Excel,现在导出的第一行为列名,第二行以下为数据...

怎么使用第一行为自定义标题呢?(例如:导出显示第一行的A1~A10单元格合并为:制造部数据)

网上查了下 说用NPOI http://www.zlblogs.com/export-excel-merge-cells.html 有点复杂!

能否简单的方法 实现 第一行指定位置加入标题!
谢谢 大家指点!!

C# code

public void DataSetToExcel(DataTable dt)
        {
            HttpResponse resp = HttpContext.Current.Response;
            resp.Clear();
            resp.AppendHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode("application / vnd.ms - excel", System.Text.Encoding.UTF8) + "\"");
            resp.ContentType = "application/ms-excel;";

            //resp.ContentEncoding = Encoding.GetEncoding("GB2312");
            resp.ContentType = "application/vnd.ms-excel";
            resp.AppendHeader("Content-Disposition", "attachment;filename=Excel.cvs");

            StringWriter oSW = new StringWriter();
            HtmlTextWriter oHW = new HtmlTextWriter(oSW);
            DataGrid dg = new DataGrid();
            dg.DataSource = dt;
            dg.DataBind();
            dg.RenderControl(oHW);
            resp.Write(oSW.ToString());
            resp.Flush();
            resp.Close();

        }




------解决方案--------------------
可以第一列为列名,列名可以自己定义
见代码地址:
http://www.cnblogs.com/wcj1984abc/archive/2011/03/17/1986872.html

这行代码,是标题的意思,根据你的需要可以改的
 swCSV.WriteLine("工单编号,工单标题,工单类型,创建时间,当前状态,当前节点名称,当前处理人 ");

------解决方案--------------------
楼主,看看这片文章

http://blog.csdn.net/wangyong0921/article/details/6550399
------解决方案--------------------
如果数据量大,这种方式很慢。 考虑stream直接写成csv文件。
 public void ExportToCSV(DataTable ds, string filePath)
{
using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.Unicode))
{
for (int i = 0; i < ds.Columns.Count; i++)
{
sw.Write(ds.Columns[i].ColumnName + "\t");
}

sw.Write("\n");
for (int i = 0; i < ds.Rows.Count; i++)
{
for (int j = 0; j < ds.Columns.Count; j++)
{
sw.Write(ds.Rows[i][j].ToString() + "\t");
}

sw.Write("\n");
}

sw.Close();
}
return;
}
------解决方案--------------------
如果数据固定的也可以弄个CSV模板
------解决方案--------------------
控制格式的方法
http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx