如题所述
第1个回答 推荐于2016-01-14
下面这个函数你可以放在类中,随时拿来用, 这是一个讲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();
}本回答被提问者采纳
第2个回答 2014-12-14
NOPI用于操作EXCEL表格的,自行百度具体使用方法。
第3个回答 2014-12-14
asp.net导出excel 代码提供