有沒有人有解決方案/鏈接將GridView/Datatable(web應用程序aspx)的內容複製到剪貼板,以便我可以粘貼到Excel中?如何將ASP.NET GridView複製到剪貼板
我已經嘗試過四處搜索,但只找到表單應用程序的解決方案。
有沒有人有解決方案/鏈接將GridView/Datatable(web應用程序aspx)的內容複製到剪貼板,以便我可以粘貼到Excel中?如何將ASP.NET GridView複製到剪貼板
我已經嘗試過四處搜索,但只找到表單應用程序的解決方案。
下面是一些代碼來幫助你們了與把網格視圖的數據複製到剪貼板,它可以讓你粘貼到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>");
將東西複製到剪貼板的唯一可靠方法是使用Flash Player。這裏是一個開始:
http://beckelman.net/post/2009/01/22/Copy-to-Clipboard-with-ZeroClipboard-Flash-10-and-jQuery.aspx
這聽起來像你感到困惑的GridView控件。它與你所描述的無關。你需要谷歌如何導出數據與C#優秀。你可以創建一個鏈接或按鈕,說下載excel文件,該按鈕將綁定到你的c#方法。如果您在整個網站中使用此方法,則可以創建一次,並可能使用一個參數來確定要將哪個數據庫表導出爲excel。
P.s.如果你正在尋找比gridview更多的功能,我建議你看看我對這篇文章的回答,關於創建你自己的。 How to show pop up menu from database in gridview on each gridview row items?
您是否絕對需要將其複製到剪貼板?這可能會做到這一點,但會花費很多代碼。您正在討論將數據粘貼到多個字段而不是一個字段中。我想你將不得不爲Excel創建一個擴展,以便知道剪貼板數據來自數據庫表並找出如何填充工作表。
祝你好運。即使谷歌似乎也無法在Google文檔中正確使用。如果Google的鉅額預算無法正確預測,那麼您認爲自己能做什麼? – 2010-12-15 23:27:08