当前位置:编程学习 > C#/ASP.NET >>

.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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,