.net 直接从数据库读取导出Excel 出现的问题
现在的问题是:1.怎么把读取出来的列名改成自己任意取的列名?2.怎么在代码里实现把第一列的科学技术法取消,让值显示出来?
我的导出代码是这样的:
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
string colHeaders = "", ls_item = "";
int i = 0;
EbSearch eb = new EbSearch();
eb.ClassId = this.ddlClass.SelectedValue;
eb.Ebid = this.Session["ebid"].ToString();
eb.SchoolId = this.ddlSchool.SelectedValue;
eb.Grade = this.ddlGrade.SelectedValue;
eb.IsCityEb = 1;
eb.StuCode = StringClean.CleanInputString(this.txtNo.Text.Trim());
eb.StuName = StringClean.CleanInputString(this.txtName.Text.Trim());
//定义表对象与行对像,同时用DataSet对其值进行初始化
int recordcount = 0;
System.Data.DataTable dt = eb.GetAppraiseResult(ref recordcount,3000,pageindex,eb).Tables[0];
DataRow[] myRow = dt.Select("");
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for (i = 0; i < dt.Columns.Count - 1; i++)
colHeaders += dt.Columns[i].Caption.ToString() + "\t";
colHeaders += dt.Columns[i].Caption.ToString() + "\n";
//向HTTP输出流中写入取得的数据信息
System.Web.HttpContext.Current.Response.Write(colHeaders);
//逐行处理数据
foreach (DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 0; i < dt.Columns.Count - 1; i++)
//"<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>";
//Sheet1.Range("A1").NumberFormat = "@"
ls_item += row[i].ToString() + "\t";
ls_item += row[i].ToString() + "\n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
System.Web.HttpContext.Current.Response.Write(ls_item);
ls_item = "";
}
//写缓冲区中的数据到HTTP头文件中
System.Web.HttpContext.Current.Response.End();
}
请高手不吝赐教吧,小妹感激不尽! --------------------编程问答-------------------- 没有人帮我吗? 帮我顶起来也行啊,55~ --------------------编程问答-------------------- 还是没人。。。 --------------------编程问答-------------------- 看看这个 --------------------编程问答-------------------- 2.怎么在代码里实现把第一列的科学技术法取消,让值显示出来?
需要改变单元的字符类型
补充:.NET技术 , ASP.NET