急!!!在asp.net C#中,如何将数据库(sql)中的表导出到excel文件里?

2024-11-26 17:09:24
推荐回答(4个)
回答1:

先将数据绑定到一个控件中,例如gridview:
放一个按钮,代码如下:
protected void ibtnExcel_Click(object sender, ImageClickEventArgs e)
{
string FileName = "标题 " + DateTime.Now + ".xls";
Response.Charset = "GB2312";
Response.ContentEncoding = Encoding.UTF8;//System.Text
//如果设置GB2312会出现乱码
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.AddHeader("content-type", "application / ms - excel");//设置输出文件的类型
//或Response.ContentType = FileType;
//定义一个输出流
StringWriter tw = new StringWriter();//System.IO
HtmlTextWriter hw = new HtmlTextWriter(tw);
gridview1.RenderControl(hw);//gridview绑定
Response.Write(tw.ToString());
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
//必须写这个;
}

回答2:

你这个可以用SQL 代码实现 将代码封装到存储过程里面 然后代码里直接调用存储过程就可以了

用SQL代码实现 将数据库(sql)中的表导出到excel文件里如下:

3、将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码

EXEC master..xp_cmdshell 'bcp axzq.dbo.Staff out d:staff.xls -c -q -S"." -U"sa" -P"gazx"'

说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'

EXEC master..xp_cmdshell 'bcp "select name from axzq..staff order by name" queryout d:staffName.xls -c -q -S"." -U"sa" -P"gazx"'

------------------------------------------------------------------------------------------------

4、在SQL SERVER里往Excel插入数据:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
-------------------------------------------------------------------------------------------------

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feixianxxx/archive/2010/04/17/5497354.aspx

回答3:

先将表中的数据读到数据集中(DataSet等),然后直接导出或先绑定到GridView上面导出。

回答4:

你是用Macromedia Dreamweaver 8这个软件么?