请问asp.net怎么将数据库中数据导出到excel中,麻烦给出代码,谢谢了
3个回答
展开全部
下面这个函数你可以放在类中,随时拿来用, 这是一个讲OleDbDataReader导出EXCEL的函数, 三个参数,第一个是页面,默认是本页this, 第二个是OleDbDataReader,第三个是导出的文件名
public void CreateExcel(System.Web.UI.Page Page, OleDbDataReader dr, string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";
int i = 0;
for (i = 0; i < dr.FieldCount - 1; i++)
{
colHeaders += dr.GetName(i).ToString() + "\t";
}
colHeaders += dr.GetName(i).ToString() + "\n";
//向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//逐行处理数据
while (dr.Read())
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 0; i < dr.FieldCount - 1; i++)
{
ls_item += dr[i].ToString() + "\t";
}
ls_item += dr[i].ToString() + "\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item = "";
}
//写缓冲区中的数据到HTTP头文件中
resp.End();
}
public void CreateExcel(System.Web.UI.Page Page, OleDbDataReader dr, string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";
int i = 0;
for (i = 0; i < dr.FieldCount - 1; i++)
{
colHeaders += dr.GetName(i).ToString() + "\t";
}
colHeaders += dr.GetName(i).ToString() + "\n";
//向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//逐行处理数据
while (dr.Read())
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 0; i < dr.FieldCount - 1; i++)
{
ls_item += dr[i].ToString() + "\t";
}
ls_item += dr[i].ToString() + "\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item = "";
}
//写缓冲区中的数据到HTTP头文件中
resp.End();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
NOPI用于操作EXCEL表格的,自行百度具体使用方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
asp.net导出excel 代码提供
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询