日期:2014-05-18  浏览次数:21109 次

C#winform程序中,将datagridview中的数据导出到excel中时如何根据数据来对excel进行拆分单元格?高手指点下!
在datagridview查询出数据,将这些数据导出到已经准备好的EXCEL中,这个EXCEL是模板,里面第一列有很多数据,导出之前先进行判断,如果需要导出的数据中有跟模板中第一列相同的数据,就把这条数据放到这一行中,现在情况是这样,如果需要导出的数据中有多条数据跟模板中第一列相同的数据,此时我想让模板第一列保持不边,它后面的每列的单元格都拆分出相应的行来接受需要导出的数据。具体需要实现的情况看图,怎么才能使用代码实现这样的情况?希望高手指点下!

------解决方案--------------------
http://blog.csdn.net/happy09li/article/details/7431967
------解决方案--------------------
导出到一个新的Excel表中不行吗?下面代码是可以将数据导出到一个新的Excel表中的
1//注意引入IO空间
 using System.IO;
 


2 (1)在源代码<page>里中加入:EnableEventValidation = "false"
(2) public void ExcelOut(GridView gv)
{//导出Excel表的方法
if (gv.Rows.Count > 0)
{//有数据行
Response.Clear();
Response.ClearContent();
Response.AddHeader("Content-Disposition","attachment;filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");//以系统时间设置为文件名
Response.ContentEncoding = System.Text.Encoding.UTF8;//UTF8编码
Response.ContentType = "application/ms-excel";//文件类型
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Write(sw.ToString());
Response.Flush();
Response.End();//结束
}
else
{
Response.Write("没有数据记录");
}
}
protected void Button1_Click(object sender, EventArgs e)
{//导出按钮事件
ExcelOut(GridView1);//调用方法
}
public override void VerifyRenderingInServerForm(Control control)//必须有这个方法
{ }

上述代码本人亲自试过,可以导出Excel
------解决方案--------------------
操作DateSet可以不?
把Dataset的内容,整理成你想要的那种格式,在直接导出。

Excel里边也可以写VBA代码,类似VB

你看看那种适合你,没必要一棵树上吊死不是