如何复制复制ASP.NET GridView控件到剪贴板 [英] How to Copy copy ASP.NET GridView to clipboard
本文介绍了如何复制复制ASP.NET GridView控件到剪贴板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有人有一个解决方案/链接的GridView / DataTable的复制内容(Web应用程序ASPX)到剪贴板,这样我可以在里面的Excel粘贴?
Does anyone have a solution/link for copying contents of a GridView/Datatable (web application aspx)to the clipboard, so that I can paste inside Excel?
我已经试过周围寻找,但只找到一个窗体的应用解决方案。
I've tried searching around but only found solutions for a Forms application.
推荐答案
下面是一些code来帮助你们走出与把网格视图的数据复制到剪贴板,它可以让你粘贴到Excel中。
Here's some code to help you guys out with putting a grid view's data into the clipboard, which lets you paste into Excel.
ClientScriptManager csm;
StringBuilder sb;
string stringToAppend;
int currentPage;
csm = Page.ClientScript;
sb = new StringBuilder();
// headers
foreach (DataControlField dcf in gvClass.Columns)
{
sb.Append(dcf.HeaderText + "\t");
}
sb.Append("\\n");
currentPage = gvClass.PageIndex;
for (int i = 0; i < gvClass.PageCount; i++)
{
gvClass_PageIndexChanging(null, new GridViewPageEventArgs(i));
foreach (GridViewRow gvr in gvClass.Rows)
{
foreach (TableCell tc in gvr.Cells)
{
if (tc.Controls.Count > 0)
{
stringToAppend = ((LinkButton)tc.Controls[0]).Text;
sb.Append(PRTL_UtilityPackage.FormatHtmlCharacters(stringToAppend) + " \t");
}
else
{
stringToAppend = tc.Text;
sb.Append(PRTL_UtilityPackage.FormatHtmlCharacters(stringToAppend) + " \t");
}
}
sb.Append("\\n");
}
}
gvClass_PageIndexChanging(null, new GridViewPageEventArgs(currentPage));
// Javascript that sets the clipboard to the stringbuilders value
csm.RegisterClientScriptBlock(typeof(Page), "copy",
"<script language=\"javascript\" type=\"text/javascript\"> " +
"window.clipboardData.setData(\"Text\", \"" + sb.ToString() + "\"); " +
"</script>");
这篇关于如何复制复制ASP.NET GridView控件到剪贴板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文