本文目录
- 怎么把gridview中的内容导出到excel中
- gridview导出excel
- 怎样在将GridView数据导出到Excel时,指定列导出
- gridview导出全部数据到Excel
- c#中 如何将gridview中数据导出到已经存在的Excel
- 如何将gridview控件内容以excel表格导出
- winform中,怎样把gridview的内容导出为excel文件
- gridview 导出excel 颜色问题
- c#.net 中 如何将gridview中的数据导出到excel中 网上的好多办法我都尝试了.
怎么把gridview中的内容导出到excel中
如果想做复杂一点的控制,最好用别的导出方式生成xls标准格式,比如用office的
COM组件或者第三方的组件(NExcel,
MyXls)等。园子里也有人做这方面的东西,你可以搜一下。
gridview导出excel
现在,GridView中已经绑定了数据,接下来的任务就是导出到Excel。下面是button事件中的代码
Response.ClearContent();
Response.AddHeader(“content-disposition“,
“attachment;
filename=MyExcelFile.xls“);
Response.ContentType
=
“application/excel“;
StringWriter
sw
=
new
StringWriter();
HtmlTextWriter
htw
=
new
HtmlTextWriter(sw);
gvUsers.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
并且还需要override一下VerifyRenderingInServerForm方法(这一点非常重要,否则在点击按钮后会报错,译者注),代码如下:
public
override
void
VerifyRenderingInServerForm(Control
control)
{
}
怎样在将GridView数据导出到Excel时,指定列导出
引用的别人的:
Gridview导出为Excel
尝试了一下Gridview导出为Excel,原本以为很简单,可是真正应用起来还是不太好弄的,呵呵,所想非所得。总结了一下应该注意下面几点:
1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据;
2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置;
3.要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;
4.导出后别忘记再重新设置其allowpaging属性;
当我把这些都设置好以后,点击[导出],出现了 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called during Render(); ) 的错误,又检查代码,没发现问题啊,搞了一会弄不出来,然后搜索了一下,发现了解决办法:
修改你的aspx文件中的:
《%@ Page Language=“C#“ EnableEventValidation = “false“ AutoEventWireup=“true“ CodeFile=“SysUser.aspx.cs“ Inherits=“Autho_SysUser2“ %》
增加红色的部分就ok了。
-rid
gridview导出全部数据到Excel
给你一个DataGrid的代码:
// 导出列表信息到Excel
public static void gSendGridInfoToExcel(DataGrid GridX)
{
Excel.Application excel= new Excel.ApplicationClass();
Excel._Workbook xBk = excel.Workbooks.Add(true);
Excel._Worksheet xSt = (Excel._Worksheet)xBk.ActiveSheet;
Excel.Range excelCell=null;
try
{
//赋值对象
object objarr;
DataTable dtTest=new DataTable();;
int i,j;
int iRows,iCows;
int iVisable;
iVisable=0;
iCows=0;
ArrayList list=new ArrayList();
//如果绑定数据源是DataTable和DataSet,取得行数
if (GridX.DataSource is System.Data.DataSet || GridX.DataSource is System.Data.DataTable)
{
dtTest=(DataTable)GridX.DataSource;
iRows=dtTest.Rows.Count;
}
else if (GridX.DataSource is System.Data.DataView)
{
DataView dvTest=(DataView)GridX.DataSource;
iRows=dvTest.Count;
dtTest=dvTest.Table;
}
//如果是集合取得行数
else
{
System.Collections.CollectionBase ColTest;
ColTest=(System.Collections.CollectionBase)GridX.DataSource;
iRows=ColTest.Count;
}
//如果有TableStyles则根据TableStyles取得(标题行)
if (GridX.TableStyles.Count》0)
{
iCows=GridX.TableStyles.GridColumnStyles.Count;
for(i=0;i《iCows;i++)
{
if(GridX.TableStyles.GridColumnStyles[i].Width》0)
{
iVisable++;
list.Add(GridX.TableStyles.GridColumnStyles[i].HeaderText);
}
}
objarr = new object[iVisable];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iVisable]);
excelCell.Value2 = objarr;
//数据行
for(i=0;i《iRows;i++)
{
objarr = new object[iVisable];
list.Clear();
for(j=0;j《iCows;j++)
{
if(GridX.TableStyles.GridColumnStyles[j].Width》0)
{
list.Add(“’“+GridX[i,j].ToString().Replace(“\n“,““));
}
}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iVisable]);
excelCell.Value2 = objarr;
}
}
else
{
iCows=dtTest.Columns.Count;
for(i=0;i《iCows;i++)
{
list.Add(dtTest.Columns[i].Caption);
}
objarr = new object[iCows];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iCows]);
excelCell.Value2 = objarr;
//数据行
for(i=0;i《iRows;i++)
{
objarr = new object[iCows];
list.Clear();
for(j=0;j《iCows;j++)
{
list.Add(“’“+GridX[i,j].ToString().Replace(“\n“,““));
}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iCows]);
excelCell.Value2 = objarr;
}
}
dtTest.Dispose();
excel.Visible=true;
}
catch (System.Exception e)
{
throw e;
}
finally
{
excelCell=null;
xBk=null;
xSt=null;
excel=null;
GC.Collect();
}
}
}
-c
c#中 如何将gridview中数据导出到已经存在的Excel
把DataGrid的数据,导出到excel中
1:在页面的类中添加
public
override
void
VerifyRenderingInServerForm(Control
control)
{
}
2:写上如下代码:
Response.
ContentType
=
“application/vnd.ms-excel“;
System.IO.StringWriter
tw
=
new
System.IO.StringWriter();
System.Web.UI.HtmlTextWriter
hw
=
new
System.Web.UI.HtmlTextWriter(tw);
this.GridView2.RenderControl(hw);//设置你要导出内容的控件,我这里是Repeater
Response.Write(tw.ToString());
Response.End();
-rid
如何将gridview控件内容以excel表格导出
朋友你可以按下面步骤试试: 导出Excel表格 Protected Sub Buttonout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Buttonout.Click ’将Gridview中的数据导出到excel中去 ’ //定义文档类型、字符编码 Response.Clear() Response.Buffer = True Response.Charset = “GB2312“ ’ //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开 ’ //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm Response.AppendHeader(“Content-Disposition“, “attachment;filename=FileFlow.xls“) Response.ContentEncoding = System.Text.Encoding.GetEncoding(“GB2312“) ’ //Response.ContentType指定文件类型 可以为application/ms-excel、application/ms-word、application/ms-txt、application/ms-html 或其他浏览器可直接支持文档 Response.ContentType = “application/ms-excel“ Me.GridView1.EnableViewState = False ’ // 定义一个输入流 Dim oStringWriter As New System.IO.StringWriter Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter) Me.GridView1.RenderControl(oHtmlTextWriter) ’ //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件 Response.Write(oStringWriter.ToString()) Response.End() End Sub
-c
winform中,怎样把gridview的内容导出为excel文件
:我们一般用的方法是将表遍历一遍,然后写入到excel中,主要代码如下: /// /// 指定文件名称、表名、DataGridView导出DataGridView中的数据到Excel中 /// /// 输出文件的位置 /// 表名 /// DataGridView名称
-rid
gridview 导出excel 颜色问题
现在,gridview中已经绑定了数据,接下来的任务就是导出到excel。下面是button事件中的代码
response.clearcontent();
response.addheader(“content-disposition“,
“attachment;
filename=myexcelfile.xls“);
response.contenttype
=
“application/excel“;
stringwriter
sw
=
new
stringwriter();
htmltextwriter
htw
=
new
htmltextwriter(sw);
gvusers.rendercontrol(htw);
response.write(sw.tostring());
response.end();
并且还需要override一下verifyrenderinginserverform方法(这一点非常重要,否则在点击按钮后会报错,译者注),代码如下:
public
override
void
verifyrenderinginserverform(control
control)
{
}
-c
c#.net 中 如何将gridview中的数据导出到excel中 网上的好多办法我都尝试了.
可以将整个gridview放在某个层里,直接复制出来,不过这样导出来的不好看.
至于导回来的话,
string strConn;
strConn = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ + filepath+ “;Extended Properties=Excel 8.0;“;
OleDbConnection conn = new OleDbConnection(strConn);
conn .Open();
/*工作表的判断
DataTable sheetNames = conn .GetOleDbSchemaTable
(System.Data.OleDb.OleDbSchemaGuid.Tables, new object { null, null, null, “TABLE“ });
*/
OleDbDataAdapter oada = new OleDbDataAdapter(“select * from [“ + sheetname + “]“, conn);
conn .Close();
Datatable db=new Datatable ();
oada .Fill(db);
有个Datatable 了,绑定也就好绑定了
-rid