WPF把DataGrid中的数据导出到excel中 5C

各位大神,我需要用WPF实现手动添加数据到DataGrid(数据可更改),然后再把DataGrid中的数据导出到excel中,之前在网上看了一个导出函数,写入我的项目后,往excel中写每一行的数据时,获取对应列的信息的函数不识别(如下图),请教各位大神,谁有完整的实现我所需功能的代码或者相关问题的解决办法,麻烦指教一下,谢谢!
图片说明

2个回答

Hi ,
想导出Excel,认为以下两种方法是比较好的。
1.使用第三方的控件,你可以使用infragistics的WPF UI 的ata Grid控件,它已经封装了导出功能。
参考https://www.infragistics.com/products/wpf/grids-and-lists/data-grid
2. 还有一种方法,可以使用表格控件Aspose.Cells,
通过代码去将要导出的DataTable写到对应的Excel中。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
把DataGrid中的数据导出到EXCEL
我在一个按钮事件中加入以下代码:rnResponse.ContentType = "application/vnd.ms-excel";rnResponse.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.Charset = "gb2312";rn//关闭 ViewStaternEnableViewState = false;rnSystem.IO.StringWriter tw = new System.IO.StringWriter();rnSystem.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);rnDataGrid1.RenderControl(hw);rnResponse.Write(tw.ToString());rnResponse.End();rn其作用是把DataGrid1中的数据导出到一个Excel文件中去rn可是运行时总是发生下面异常:rnSystem.Web.HttpException: 类型“DataGridLinkButton”的控件“DataGrid1__ctl3__ctl0”必须放在具有 runat=server 的窗体标记内。rn而错误的语句是:rnDataGrid1.RenderControl(hw);rn我在WebConfig中做如下修改,但还是不行:rn 不知道这是什么原因?rnrn
把DataGrid中的数据导出到Excel中
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=8A4CBF47-B888-4832-3389-ED3A3A3C8AABrn DataGrid输出到Excel并进行格式化处理rnrn 在孟子的网页上面可以正常的把DataGrid里面的数据导出到Excel里面,可是一到我的程序里,却有点问题了,会把那个提交按纽也导到了Excel里面。rn 这是为什么呀?还请高手帮帮忙呀!rn 不胜感激!
怎样把datagrid中的数据导出到Excel中
我利用ado方法把sql server2000中的数据体现到datagrid中,然后通过控件把datagrid的数据导出到execl中。请各位高手告诉我应当怎样写程序
DataGrid中的数据导出到Excel
我在一个按钮事件中添加如下代码:rnResponse.ContentType = "application/vnd.ms-excel";rnResponse.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); rnResponse.Charset = "gb2312";rn//关闭 ViewStaternEnableViewState = false;rnSystem.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串rnSystem.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。rnDataGrid1.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中rn// 把HTML写回浏览器rnResponse.Write(tw.ToString());rnResponse.End();rn可是运行时总是发生以下异常:rn System.Web.HttpException: 类型“DataGridLinkButton”的控件“DataGrid1__ctl3__ctl0”必须放在具有 runat=server 的窗体标记内。rn错误错在的语句是:rnDataGrid1.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中rn我在WebConfig中作如下修改可还是发生一样的错误:rnrn不知道这是什么原因,请高手指点.rn
如何把DataGrid中的数据导出到excel
如何把DataGrid中的数据导出到excel
请问怎样把datagrid的数据导出到excel中?
如题,多谢rn
如何把datagrid的数据导出到excel中啊?
谁有vc里面datagrid数据导出到excel的例子啊,在网上找了很多,但是都讲的不详细,我现在有一个datagrid,希望把查询出来的数据导出到excel中或txt文件中,我建了一个按钮,希望点了按钮后就把datagrid数据导出到excel中或txt文件中,datagrid的id是IDC_DATAGRID1,按钮的id是IDC_BUTTON1,我是一个新手,请大家讲的详细一些,谢谢!
怎么样把DataGrid中的数据导出到Excel?
谢谢!
Silverlight4 如何把datagrid中的数据导出到excel
大家应该都看过陈凯的“Silverlight 4中把DataGrid数据导出Excel”rnhttp://www.cnblogs.com/chenkai/archive/2010/06/10/1755521.htmlrnrnrn在参考大量资料后 提供参考思路如下:rnrn[color=#FF0000]A:[/color][b][/b]纯客户端导出处理.利用Silverlight 与Javascript 进行交互实现导出Excel. rnrn[color=#FF0000]B:[/color][b][/b]服务器端导出.获得DataGrid数据源. 传递给WCF Service到服务器端. 然后把传回数据通过Asp.net中通用处理导出Excel方法加以实现.rnrn想利用[color=#FF0000]方法B[/color][b][/b]来实现,rn点击导出按钮后,执行WCF上的导出方法,这个方法如何实现呢? rn请大侠们帮忙。rnrn[size=10px][i]前面的帖子沉下去了, 这里不得不再发一贴,分全散[/i][/size]
在ASP.NET中怎样把 Datagrid中的数据导出 到EXCEl中
我做了个打印的程序,要求把datagrid里面的数据导出到EXCel中,这方面弄得很少,希望有会的大侠们 帮一下!!!!!!!!!
DataGrid中的数据导出到excel的问题!
下面是我的具体实现代码,但是在本机中调试导出数据没有问题,但是在另一台机子访问主机导出时就出现了这样的问题:rnrn/”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrn无法使用前导 .. 在顶级目录上退出。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Web.HttpException: 无法使用前导 .. 在顶级目录上退出。rnrn源错误: rnrnrn行 130: System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);rn行 131: dg.RenderControl(hw);rn行 132: string filePath = Server.MapPath("..")+fileName;rn行 133: System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);rn行 134: sw.Write(tw.ToString());rn rnrn源文件: c:\inetpub\wwwroot\managesystem\manageform.aspx.cs 行: 132 rnrn堆栈跟踪: rnrnrn[HttpException (0x80004005): 无法使用前导 .. 在顶级目录上退出。]rn System.Web.Util.UrlPath.Reduce(String path) +701rn System.Web.Util.UrlPath.Combine(String basepath, String relative) +304rn System.Web.HttpRequest.MapPath(String virtualPath, String baseVirtualDir, Boolean allowCrossAppMapping) +201rn System.Web.HttpServerUtility.MapPath(String path) +60rn ManageSystem.ManageForm.Export(DataGrid dg, String fileName, String typeName) in c:\inetpub\wwwroot\managesystem\manageform.aspx.cs:132rn ManageSystem.ManageForm.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\managesystem\manageform.aspx.cs:119rn System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33rn System.Web.UI.Page.ProcessRequestMain() +1277rnrnrn我的代码: rnrnrnrnrn private void Button1_Click(object sender, System.EventArgs e)rn rn Export(DataGridView,"GoodsList.xls","application/ms-excel");rn rn rn private void Export(System.Web.UI.WebControls.DataGrid dg,string fileName,string typeName)rn rn rn System.Web.HttpResponse httpResponse = Page.Response;rn httpResponse.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)); rn httpResponse.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");rn httpResponse.ContentType = typeName;rn System.IO.StringWriter tw = new System.IO.StringWriter();rn System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);rn dg.RenderControl(hw);rn string filePath = Server.MapPath("..")+fileName;rn System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);rn sw.Write(tw.ToString());rn sw.Close();rn DownFile(httpResponse,fileName,filePath);rn httpResponse.End();rn rnrn private bool DownFile(System.Web.HttpResponse Response,string fileName,string fullPath)rn rn tryrn rn Response.ContentType = "application/octet-stream";rnrn Response.AppendHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8) + ";charset=GB2312");rn System.IO.FileStream fs= System.IO.File.OpenRead(fullPath);rn long fLen=fs.Length;rn int size=102400;//每100K同时下载数据 rn byte[] readData = new byte[size];//指定缓冲区的大小 rn if(size>fLen)size=Convert.ToInt32(fLen);rn long fPos=0;rn bool isEnd=false;rn while (!isEnd) rn rn if((fPos+size)>fLen)rn rn size=Convert.ToInt32(fLen-fPos);rn readData = new byte[size];rn isEnd=true;rn rn fs.Read(readData, 0, size);//读入一个压缩块 rn Response.BinaryWrite(readData);rn fPos+=size;rn rn fs.Close(); rn System.IO.File.Delete(fullPath);rn return true;rn rn catchrn rn return false;rn rn rnrnrn
winform的datagrid数据导出到excel中?
各位大虾,我现在要实现在winform的datagrid中的数据导出到excel中,在网上找了一些方法,用起来速度都太慢了,一千条记录要等好久,大家有没有快一些的办法啊.
如何将datagrid的数据导出到EXCel中
虽然好像有很多人问过,不过那个rnMicrosoft Excel 9.0 Object Library东西我是怎么也找不到rn还有就是如何保证导出的数据的格式
vb中datagrid数据导出到excel
我用command产生出来一堆随机数,我从datagrid中导出数据到excel里面只出来最后一个数,可是如果结束运行时没有清空datagrid中数据,再点击运行并且datagrid中还有数据就能导出所有数据,这是为什么?
如何将datagrid中的数据导出到excel?
如题所示,谢谢!!!
VB6 DataGrid中的数据导出到Excel
把DataGridView导出到Excel文件的示例,己经经过调试,下载即可使用~
silverlight5中datagrid数据导出到excel
如何实现将datagrid里的数据或List的数据导出到Excelrn网上看了很多,大部分解决方案都是用Stream输出。rn用这个方案导出的文档其实不是正规的Excel。文档打开时会提示后缀名不一致。rn大家是怎么解决这个问题的,求指教rnrn或者提供一下思路,解决方案rn或者有好用的插件也行rnrn感激不尽
asp.net把datagrid数据导出到excel
datagrid的数据是通过数据源绑定的,不是绑定dataset之类的数据容器,怎么把所有的数据导出到excel?
把DataGrid的数据导出到excel出错
n = AdoData.RecordCountrn m = AdoData.Fields.Countrn i = 2rn Do While i < n + 2rn j = 1rn Dorn xlSheet.Cells(i, j) = DataGrid1.Columns(j - 1)rn j = j + 1rn Loop While j < m + 2rn i = i + 1rn Looprnrn代码如上rn在调试的时候,发现只导出DataGrid第一行的数据,然后就报警:rn实时错误'9':rn下标越界rnrn调试时看见j=73,n=7,m=72,i=2rnrn错在哪里呢?
把datagridview中的数据导出到excel
把datagridview中的数据导出到excel
把表格数据导出到excel中
//用于封装导出数据源 jQuery.ExcelData = function (E_data, ExcelFileName) { var ret = &quot;.&quot;; try { //读取E_Header var HeaderJson = &quot;&quot;; var E_html = &quot;&quot;; $(&quot;.easyui_list_con...
Silverlight应用中怎么把DataGrid中的数据导出到Excel
如题~~Silverlight做的应用 怎么把DataGrid中的数据导出到Excel哪位哥们会 指教一下~~~小弟感谢~
如何把datagrid中显示的数据导出到excel表中
如何把datagrid中显示的数据导出到excel表中,我是初学者,详细点好吗?谢谢!!!
DataGrid中数据导出到Excel中的问题
private void ToExcel(System.Web.UI.Control ctl,string Table_Name) rn rn HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+""+Table_Name+".xls");rn HttpContext.Current.Response.Charset ="gb-2312"; rn HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default ;rn HttpContext.Current.Response.ContentType ="application/ms-excel/ms-word";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/mswordrn ctl.Page.EnableViewState =true; rn System.IO.StringWriter tw = new System.IO.StringWriter() ;rn System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);rn rn ctl.RenderControl(hw);rn HttpContext.Current.Response.Write(tw.ToString());rn HttpContext.Current.Response.End();rn rnrn以上代码运行到ctl.RenderControl(hw);的时候报错:rn类型“DataGridLinkButton”的控件“DataGrid1__ctl14__ctl1”必须放在具有 runat=server 的窗体标记内。rn怎么回事?怎么解决?
将dataGrid中的数据导出到Excel中的问题
private void button1_Click(object sender, System.EventArgs e)rnrn Excel.Worksheet xlSheet;rn Excel.Application xlApp;rn Excel.Workbook xlBook;rn Excel.DataTable xlDBtable;rn tryrn rn string strflname;rn this.saveFileDialog1.Title="保存为";rn this.saveFileDialog1.Filter="xls工作薄|*.xls";rn if(this.saveFileDialog1.ShowDialog()==DialogResult.OK)rn rn if(this.saveFileDialog1.FileName != "")rn rn strflname=this.saveFileDialog1.FileName;rn rn elsern GC.Collect(); //强制对所有代进行垃圾回收rn return;rn rn rn elsern rn return;rn rn xlBook = xlApp.Workbooks.Add();rn xlSheet = xlBook.Worksheets.Add("sheet1");rn DataTable Table = new DataTable();rn Table=(DataTable)dataGrid1.DataSource; //将datagrid中的数据填充到DataTable中rn DataColumn col;rn int colIndex;rn for(colIndex=1;colIndex<=Table.Columns.Count;colIndex++)rn rn xlApp.Cells[1,colIndex]=col.ColumnName; //获取列名rn rn DataRow row;rn int rowIndex;rn for(rowIndex=1;rowIndex<=Table.Rows.Count;rowIndex++)rn rn for(colIndex=1;colIndex<=Table.Columns.Count;colIndex++)rn rn xlApp.Cells[rowIndex,colIndex]=row[col.ColumnName];rn rn rn xlBook.SaveAs(strflname,xlApp.ActiveWorkbook.FileFormat, "", "", xlApp.ActiveWorkbook.ReadOnlyRecommended, xlApp.ActiveWorkbook.CreateBackup, Excel.XlSaveAsAccessMode.xlShared.xlShared, xlApp.ActiveWorkbook.ConflictResolution, False, "", "");rn MessageBox.Show("保存成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question);rn rn catch(Exception ex)rn rn MessageBox.Show(ex.Message);rn xlBook.Close;rn xlApp.Quit();rn xlApp = Nothing;rn rn xlBook.Close();rn xlApp.Quit();rn xlApp = Nothing;rn GC.Collect(); //强制对所有代进行垃圾回收rnrnrnD:\WindowsApplication1\WindowsApplication1\Form1.cs(175): 名称“False”在类或命名空间“WindowsApplication1.Form1”中不存在rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(181): 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(181): 在不带括号的情况下引用了方法“Excel._Workbook.Close(object, object, object)”rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(183): 名称“Nothing”在类或命名空间“WindowsApplication1.Form1”中不存在rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(185): 重载“Close”方法未获取“0”参数rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(187): 名称“Nothing”在类或命名空间“WindowsApplication1.Form1”中不存在rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(175): 无法使用实例引用访问静态成员“Excel.XlSaveAsAccessMode.xlShared”;改用类型名来限定它rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(157): 重载“Add”方法未获取“1”参数rnD:\WindowsApplication1\WindowsApplication1\Form1.cs(156): 重载“Add”方法未获取“0”参数rnrnrnrn哪位高手能告诉我.这些是什么错误!我不明白.rnrnrn或者..谁能写一个更好的方法将dataGrid中的数据导出到Excel中rnrn不盛感谢!
C# winform 中如何把datagrid中的数据导出到excel啊??
各位大哥,我搜索了一下csdn的帖子,只有web form的例子,请哪个大哥教我怎么在 winform中导出到Excel 文件呢??及时结贴给分!!!
c# 中如何把datagrid数据导出到excel中?
谢谢
如何把datagrid中的数据导出excel表中?
WinForm不是webform,Access数据库不是SqlServer数据库。
怎样把DataGrid中的数据导出到Excel中?急急急!!!!!!!!!!!!!!
怎样把DataGrid中的数据导出到Excel中?急急急!!!!!!!!!!!!!!
wpf datagrid数据导出到execl
private void daochu_Click(object sender, RoutedEventArgs e) { System.Windows.Controls.DataGrid DataGrid = dataGrid1; string file = "C:Users\\Administrator\\Desktop\\qb"; Export(DataGrid, file); } public static void Export(System.Windows.Controls.DataGrid dataGrid, string _fileName) { System.Data.DataTable dt = new System.Data.DataTable(); for (int i = 0; i < dataGrid.Columns.Count; i++) { if (dataGrid.Columns[i].Visibility == System.Windows.Visibility.Visible)//只导出可见列 { dt.Columns.Add(dataGrid.Columns[i].Header.ToString());//构建表头
WPF datagrid数据导出到Excel表格
封装成类,供以后使用(将datagrid导出)using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Controls; namespace AstroATE { clas...
asp中怎么把数据导出到EXCEL中?
在asp中做一个统计报表,把数据统计出来以后,怎么把它导出到excel中呀?
VC中把数据导出到EXCEL中
我用VC连了个SQL SERVER。现在我想把多项记录导出到EXCEL中去,我看了一本参考书,上面有这个代码,但是,有一个缺点:就是提前在硬盘中把EXCEL表建好,然后再把数据送进去。下面是主要的代码: rn _Application objApp;rn Workbooks objBooks;rn _Workbook objBook;rn Worksheets objSheets;rn _Worksheet objSheet;rn Range objRange;rn objApp.CreateDispatch("Excel.Application");rn objBooks=objApp.GetWorkbooks();rn objBook.AttachDispatch(objBooks.Add(_variant_t("c:\\123.xls")));//把数据送入已建好的EXCLE表中rn objSheets=objBook.GetSheets();rn objSheet=objSheets.GetItem((_variant_t)short(1));rn objRange.AttachDispatch(objSheet.GetCells(),true);rn int ss,nn;rn double dTotal;rn dTotal=0;rn CString cc;rn nn=m_list.GetItemCount();rn ss=7;rn for(int i=0;i
把listctrl中的数据导出到excel中
把listctrl中的数据导出到excel中,调用简单,不需要自己去简历office的一系列对象
delphi中如何把数据导出到excel中
delphi中如何把数据导出到excel中
【使用教程】如何把数据导出到 WPF 环境的 Excel 中
今天的文章我们要介绍一种将数据从数据库导出到WPF 环境的Excel 中的解决方案,专业的WPF Excel组件Spire.XLS可以轻松实现整个解决方案。
请问哪位大哥有"把DataGrid的数据导出到EXCEL中的代码?"
请问哪位大哥有"把DataGrid的数据导出到EXCEL中的代码?"rnrnrn我有一段代码,可是不能把DataGrid中的列名称导出来!!rnrn哪位老兄帮忙?!给段代码?rnrn谢谢拉!
DataGrid控件表中的数据导出到excel的问题?(
rn下面是我把DataGrid数据导出到excel的代码:rn private void Export(System.Web.UI.WebControls.DataGrid dg,string fileName,string typeName)rn rn rn System.Web.HttpResponse httpResponse = Page.Response;rn httpResponse.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)); rn httpResponse.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");rn httpResponse.ContentType = typeName;rn System.IO.StringWriter tw = new System.IO.StringWriter() ;rn System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);rndg.RenderControl(hw);rnstring filePath = Server.MapPath("..")+fileName;rnSystem.IO.StreamWriter sw = System.IO.File.CreateText(filePath);rnsw.Write(tw.ToString());rnsw.Close();rnrnDownFile(httpResponse,fileName,filePath);rnhttpResponse.End();rnrnrnprivate bool DownFile(System.Web.HttpResponse Response,string fileName,string fullPath)rnrntryrnrnResponse.ContentType = "application/octet-stream";rnrnResponse.AppendHeader("Content-Disposition","attachment;filename=" + rnHttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8) + ";charset=GB2312");rnSystem.IO.FileStream fs= System.IO.File.OpenRead(fullPath);rnlong fLen=fs.Length;rnint size=102400;//每100K同时下载数据 rnbyte[] readData = new byte[size];//指定缓冲区的大小 rnif(size>fLen)size=Convert.ToInt32(fLen);rnlong fPos=0;rnbool isEnd=false;rnwhile (!isEnd) rn rnif((fPos+size)>fLen)rnrnsize=Convert.ToInt32(fLen-fPos);rnreadData = new byte[size];rnisEnd=true;rnrnfs.Read(readData, 0, size);//读入一个压缩块 rnResponse.BinaryWrite(readData);rnfPos+=size;rn rnfs.Close(); rnSystem.IO.File.Delete(fullPath);rnreturn true;rnrncatchrnrnreturn false;rnrnrnrnprivate void btnExcel_Click(object sender, System.EventArgs e)rnrnExport(dataGrid,"FileName.xls","application/ms-excel");rnrnrn可是出现了如下的错误,不知道怎么回事,而且刚开始是可以成功导出的,但是过了些天去调试就出错了,很奇怪,不知道怎么了,请各位高手指点一下!rnrnrn“/ManageSystem”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrn类型“DataGridLinkButton”的控件“DataGrid__ctl14__ctl1”必须放在具有 runat=server 的窗体标记内。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Web.HttpException: 类型“DataGridLinkButton”的控件“DataGrid__ctl14__ctl1”必须放在具有 runat=server 的窗体标记内。rnrn源错误: rnrnrn行 92: System.IO.StringWriter tw = new System.IO.StringWriter() ;rn行 93: System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);rn行 94: dg.RenderControl(hw);rn行 95: string filePath = Server.MapPath("..")+fileName;rn行 96: System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);rn rnrn源文件: c:\inetpub\wwwroot\managesystem\managesystem.aspx.cs 行: 94 rnrn堆栈跟踪: rnrnrn[HttpException (0x80004005): 类型“DataGridLinkButton”的控件“DataGrid__ctl14__ctl1”必须放在具有 runat=server 的窗体标记内。]rn System.Web.UI.Page.VerifyRenderingInServerForm(Control control)rn System.Web.UI.WebControls.LinkButton.AddAttributesToRender(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)rn System.Web.UI.WebControls.DataGridLinkButton.Render(HtmlTextWriter writer)rn System.Web.UI.Control.RenderControl(HtmlTextWriter writer)rn System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)rn System.Web.UI.Control.Render(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)rn System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)rn System.Web.UI.Control.RenderControl(HtmlTextWriter writer)rn System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)rn System.Web.UI.Control.Render(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)rn System.Web.UI.Control.RenderControl(HtmlTextWriter writer)rn System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)rn System.Web.UI.Control.RenderControl(HtmlTextWriter writer)rn System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)rn System.Web.UI.Control.Render(HtmlTextWriter writer)rn System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)rn System.Web.UI.WebControls.BaseDataList.Render(HtmlTextWriter writer)rn System.Web.UI.Control.RenderControl(HtmlTextWriter writer)rn ManageSystem.Index.Export(DataGrid dg, String fileName, String typeName) in c:\inetpub\wwwroot\managesystem\managesystem.aspx.cs:94rn ManageSystem.Index.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\managesystem\managesystem.aspx.cs:83rn System.Web.UI.WebControls.Button.OnClick(EventArgs e)rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)rn System.Web.UI.Page.ProcessRequestMain()rnrnrn
vc中将datagrid数据导出到excel中
现在要将datagrid数据导出到excel中,在网上找到代码如下rn_Application ExcelApp; rnWorkbooks wbsMyBooks; rn_Workbook wbMyBook; rnWorksheets wssMysheets; rn_Worksheet wsMysheet; rnRange rgMyRge; rn//创建Excel 2000服务器(启动Excel) rn rnif (!ExcelApp.CreateDispatch("Excel.Application",NULL)) rn rnAfxMessageBox("创建Excel服务失败!"); rnexit(1); rn rn//利用模板文件建立新文档 rnwbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true); rnwbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("g:\\exceltest\\MyTemplate.xlt"))); rn//得到Worksheets rnwssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true); rn//得到sheet1 rnwsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true); rn//得到全部Cells,此时,rgMyRge是cells的集合 rnrgMyRge.AttachDispatch(wsMysheet.GetCells(),true); rn//设置1行1列的单元的值 rnrgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("This Is A Excel Test Program!")); rn//得到所有的列 rnrgMyRge.AttachDispatch(wsMysheet.GetColumns(),true); rn//得到第一列 rnrgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true); rn//设置列宽 rnrgMyRge.SetColumnWidth(_variant_t((long)200)); rn//调用模板中预先存放的宏 rnExcelApp.Run(_variant_t("CopyRow"),vtMissing,vtMissing,vtMissing, rnvtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, rnvtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, rnvtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, rnvtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing); rn//打印预览 rnwbMyBook.SetSaved(true); rnExcelApp.SetVisible(true); rnwbMyBook.PrintPreview(_variant_t(false)); rn//释放对象 rnrgMyRge.ReleaseDispatch(); rnwsMysheet.ReleaseDispatch(); rnwssMysheets.ReleaseDispatch(); rnwbMyBook.ReleaseDispatch(); rnwbsMyBooks.ReleaseDispatch(); rnExcelApp.ReleaseDispatch(); rn现在的问题是录制宏copyrow的代码怎么写啊,录制的步骤我知道,但是sub与end sub之间的代码求高人指点,要详细代码
如何将datagrid里的数据导出到excel中
各位高手请指点:rn 我在论坛上搜索过,也发现了一些方法,可是都用不了,生成的excel里什么也没有,datagrid的数据也是绑定了的,好迷惑啊,请各位指点迷津!
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池