关于dbgrid和excel的问题 有一个windows程序,用c#编写,现有一个datagrid控件将所有的内容显示出来,我想将datagrid转到excel中,有何办法,或者那里可以找到现成的控件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像有难度阿,只做过读excel文件的还没有写过呢,关注啊 Response.Clear(); Response.Buffer= true; Response.Charset="UTF-8"; Response.AppendHeader("Content-Disposition","online;filename=FileFlow.xls"); Response.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-8"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false; System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.DataGrid1.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End(); 将datagrid数据源的数据转入excel文件就可以了加一个excel的com组件,然后利用他把数据导入Excel文件具体用法,例如:(dt为数据源)Excel.Application excelApp = new Excel.Application(); excelApp.Visible = false; excelApp.Caption = "资产盘点清单"; excelApp.Workbooks.Add(Type.Missing);// excelApp.Worksheets.Add(Type.Missing,Type.Missing,Type.Missing,Type.Missing);//资产查询结果sheet //调整后列头信息-2 excelApp.Cells[1,1] = "资产名称"; excelApp.Cells[1,2] = "规格型号"; excelApp.Cells[1,3] = "资产数量"; excelApp.Cells[1,4] = "资产减少数量"; excelApp.Cells[1,5] = "备注"; //添加调整后信息-2 for(int i=2;i<dt.Rows.Count+2;i++) { excelApp.Cells[i,1]=dt.Rows[i-2]["Name"].ToString(); excelApp.Cells[i,2]=dt.Rows[i-2]["Standard"].ToString(); excelApp.Cells[i,3]=dt.Rows[i-2]["Amount"].ToString(); excelApp.Cells[i,4]=""; excelApp.Cells[i,5]=dt.Rows[i-2]["Re"].ToString(); } this.m_fmWait.Close(); this.m_fmWait = null; //保存数据表 this.saveXslFileDig.Filter = "Excel文件(*.xls)|*.xls"; string strExcelFileName=""; if(this.saveXslFileDig.ShowDialog()==DialogResult.OK) { strExcelFileName = this.saveXslFileDig.FileName; } else { if(!System.IO.Directory.Exists(Application.StartupPath+"\\temp")) { System.IO.Directory.CreateDirectory(Application.StartupPath+"\\temp"); } strExcelFileName=Application.StartupPath+"\\temp\\AssetSearch.xls"; } excelApp.ActiveWorkbook.SaveAs(strExcelFileName,Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null); excelApp.Quit(); excelApp=null; GC.Collect();//垃圾回收 楼上的saveXslFileDig和Application.StartupPath是在哪个命名空间里面的啊?我引用了Excel的Com那2个东西还是找不到啊 http://www.cnblogs.com/lovecherry/archive/2005/03/25/125519.html c# 写个记住密码小程序 遭到360拦截 怎么在cs文件里调用session变量? winform数据显示... 怎么同时导出两张报表 C# 写C++ 的一句话,关于指针的,跪求啊啊啊啊 对象查询语言(OQL)的形式语言该怎么样定义的好? 水晶报表有两个“详细资料”节怎么实现? 获得系统的用户列表? C#调用C++ocx 视频播放不出来 请教一个简单问题!!! 如何将一个有DataSet载入数据库? 请教浮点形(float)如何与双精度类型(double)相互转换,谢谢参与
Response.ContentType = "application/ms-excel";
this.EnableViewState = false; System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.DataGrid1.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End();
加一个excel的com组件,然后利用他把数据导入Excel文件
具体用法,例如:(dt为数据源)
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = false;
excelApp.Caption = "资产盘点清单";
excelApp.Workbooks.Add(Type.Missing);//
excelApp.Worksheets.Add(Type.Missing,Type.Missing,Type.Missing,Type.Missing);//资产查询结果sheet
//调整后列头信息-2
excelApp.Cells[1,1] = "资产名称";
excelApp.Cells[1,2] = "规格型号";
excelApp.Cells[1,3] = "资产数量";
excelApp.Cells[1,4] = "资产减少数量";
excelApp.Cells[1,5] = "备注";
//添加调整后信息-2
for(int i=2;i<dt.Rows.Count+2;i++)
{
excelApp.Cells[i,1]=dt.Rows[i-2]["Name"].ToString();
excelApp.Cells[i,2]=dt.Rows[i-2]["Standard"].ToString();
excelApp.Cells[i,3]=dt.Rows[i-2]["Amount"].ToString();
excelApp.Cells[i,4]="";
excelApp.Cells[i,5]=dt.Rows[i-2]["Re"].ToString();
} this.m_fmWait.Close();
this.m_fmWait = null;
//保存数据表 this.saveXslFileDig.Filter = "Excel文件(*.xls)|*.xls";
string strExcelFileName="";
if(this.saveXslFileDig.ShowDialog()==DialogResult.OK)
{
strExcelFileName = this.saveXslFileDig.FileName; }
else
{
if(!System.IO.Directory.Exists(Application.StartupPath+"\\temp"))
{
System.IO.Directory.CreateDirectory(Application.StartupPath+"\\temp");
}
strExcelFileName=Application.StartupPath+"\\temp\\AssetSearch.xls";
} excelApp.ActiveWorkbook.SaveAs(strExcelFileName,Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null); excelApp.Quit();
excelApp=null;
GC.Collect();//垃圾回收
我引用了Excel的Com
那2个东西还是找不到啊