GridView 导出成Excel 死活找不到问题所在

simhare 2007-02-06 08:45:23
导出的excel在Header下面无缘无故多出来一行
关键方法
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
}
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//第一行的表头
TableCellCollection tcHeader = e.Row.Cells;//retrun TablecellCollection get a collection of TableCell object that represents the cells of a row (in a Table Control)
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", "4"); //跨Column
tcHeader[0].Text = "CheckList for AMS Information -LCL";

tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("colspan", "1");
tcHeader[1].Text = "Date:" + DateTime.Now.ToString("MMM.dd", new System.Globalization.CultureInfo("en-GB")) + "</th></tr><tr>";// + "</th></tr><tr>";加?
break;
case DataControlRowType.DataRow:

TableCell tc = new TableCell();


//tc.Attributes.Add("colspan", "2");
tc.Attributes.Add("colspan", "3");//
//tc.AssociatedHeaderCellID = ;
tc.Text = "Vessel/Voyage";


e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#FFC080'");

e.Row.HorizontalAlign =HorizontalAlign.Center;

e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#ffffff'");


break;

}//Switch End()
}//GridView1_RowDataBound End()
...全文
271 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
simhare 2007-02-06
  • 打赏
  • 举报
回复
没有设置ShowFooter=true
simhare 2007-02-06
  • 打赏
  • 举报
回复
没有数据是空的一行
simhare 2007-02-06
  • 打赏
  • 举报
回复
“导出到Excel”按钮的事件:
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.AllowPaging = false;
GridView1.AllowSorting = false;

Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");

Response.ContentEncoding = System.Text.Encoding.UTF7;//return encoding get or set the http charater set of the output stream
Response.ContentType = "application/ms-excel";//get or set the http MIME type of the output stream

StringWriter oStringWriter = new StringWriter();
HtmlTextWriter oHtmlWriter = new HtmlTextWriter(oStringWriter);

this.GridView1.RenderControl(oHtmlWriter);
Response.Output.Write(oStringWriter.ToString());

Response.Flush();
Response.End();

}
孟子E章 2007-02-06
  • 打赏
  • 举报
回复
多出的一行有数据吗?
是不是GridView1设置了SHowFooter=true了?
simhare 2007-02-06
  • 打赏
  • 举报
回复
CreateDataSource:
public ICollection CreateDataSource()
{
string strVesselVoyage = string.Empty;
string strCarrier = string.Empty;
string strHBL = string.Empty;
string strClosingDate = string.Empty;
string strOnboardDate = string.Empty;
string strShipper = string.Empty;
string strConsignee = string.Empty;
string strDescription = string.Empty;
string strBookingNO = string.Empty;
string strSO = string.Empty;

string strConn = ConfigurationManager.ConnectionStrings["dsn"].ConnectionString;
SqlConnection conn = new SqlConnection(strConn);
string strSql = @"SELECT dbo.Hou.Vessel_Voyage, dbo.CompanyDetails.Company_Name AS Carrier,
dbo.Hou.Closing_Date, dbo.Hou.Loading_ATD
FROM dbo.Hou LEFT OUTER JOIN
dbo.CompanyDetails ON dbo.Hou.Carrier = dbo.CompanyDetails.Account_ID
WHERE dbo.Hou.Hou_id =" + Request.QueryString["hou_id"];
SqlCommand comm = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader sdr = comm.ExecuteReader();
while (sdr.Read())
{
strVesselVoyage = sdr["Vessel_Voyage"].ToString();
strCarrier = sdr["Carrier"].ToString();
strClosingDate = sdr["Closing_Date"].ToString();
strOnboardDate = sdr["loading_ATD"].ToString();

}
sdr.Close();
conn.Close();
DataTable dt = new DataTable();
//没有column 无法定位dr
DataColumn dc;
DataRow dr;
dc = new DataColumn("VesselVoyage", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("strVesselVoyage", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("Carrier", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("strCarrier", typeof(String));
dt.Columns.Add(dc);

dr = dt.NewRow();
dr["VesselVoyage"] = "Vessel/Voyage:";
dr["strVesselVoyage"] = strVesselVoyage;
dr["Carrier"] = "Carrier:";
dr["strCarrier"] = strCarrier;
dt.Rows.Add(dr);
/*-------------------------------------------------------second line---------------*/

dc = new DataColumn("ClosingDate", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("strClosingDate", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("onBoardDate", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("stronBoardDate", typeof(String));
dt.Columns.Add(dc);

dr = dt.NewRow();
dr[0] = "Closing Date:";
dr[1] = strClosingDate;
dr[2] = "On Board Date:";
dr[3] = strOnboardDate;
dt.Rows.Add(dr);

/*-----------------------------------------------------third line-----------------*/

dc = new DataColumn("S/O", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("HB/LNO", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("Shipper", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("Consignee", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("Description", typeof(String));
dt.Columns.Add(dc);

dr = dt.NewRow();
dr[0] = "S/O#.";
dr[1] = "HB/L NO.";
dr[2] = "SHIPPER";
dr[3] = "CONSIGNEE";
dr[4] = "DESCRIPTION";
dt.Rows.Add(dr);
/*-----------------------------------------------------记录列表------------*/
//再次建立连接,读取记录条数

strSql = @"SELECT dbo.Hou.Booking_NO, dbo.Hou.House_B_L_NO,
tblShipper.Company_Name AS Shipper, tblConsignee.Company_Name AS Consignee,
dbo.Description_of_Package.Description_of_Package
FROM dbo.Hou LEFT OUTER JOIN
dbo.Description_of_Package ON
dbo.Hou.Description_Drop = dbo.Description_of_Package.Description_of_Package_id LEFT
OUTER JOIN
dbo.CompanyDetails tblConsignee ON
dbo.Hou.Consignee = tblConsignee.Account_ID LEFT OUTER JOIN
dbo.CompanyDetails tblShipper ON dbo.Hou.Shipper = tblShipper.Account_ID
WHERE dbo.Hou.Hou_id =" + Request.QueryString["hou_id"];

conn = new SqlConnection(strConn);
conn.Open();
comm = new SqlCommand(strSql, conn);
sdr = comm.ExecuteReader();

dt.Columns.Add(new DataColumn("BookingNO", typeof(string)));
dt.Columns.Add(new DataColumn("HBLNO", typeof(string)));
dt.Columns.Add(new DataColumn("ShipperList", typeof(string)));
dt.Columns.Add(new DataColumn("ConsigneeList", typeof(string)));
dt.Columns.Add(new DataColumn("DescriptionList", typeof(string)));

while (sdr.Read())
{
DataRow drRecord;
drRecord = dt.NewRow();

strSO = sdr["booking_NO"].ToString();
strHBL = sdr["House_B_L_NO"].ToString();
strShipper = sdr["Shipper"].ToString();
strConsignee = sdr["Consignee"].ToString();
strDescription = sdr["Description_of_Package"].ToString();

drRecord[0] = strSO;
drRecord[1] = strHBL;
drRecord[2] = strShipper;
drRecord[3] = strConsignee;
drRecord[4] = strDescription;

dt.Rows.Add(drRecord);

}
sdr.Close();
conn.Close();
DataView dv = new DataView(dt);
return dv;

}
simhare 2007-02-06
  • 打赏
  • 举报
回复
createDataSource() 做数据源
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.BorderWidth = Unit.Pixel(2);
GridView1.BorderColor = System.Drawing.Color.DarkOrange;
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();

}
}
摘 要 针对高校教师教学业绩管理流程复杂、数据填报不规范、多级审核效率低、统计分析滞后等问题,本文设计并实现一套基于SpringBoot+Vue前后端分离架构的高校教师教学业绩综合管理系统。系统后端以SpringBoot处理业务逻辑与接口开发,前端用Vue构建交互界面,MySQL存储数据,MD5加密保障账号安全,具备低耦合、易扩展、易维护特性。 系统按权限划分为教师、学院管理员、学校管理员三级角色,构建闭环式业绩管理体系。教师可完成信息维护、业绩录入、成果申报、审核跟踪、档案导出、智能咨询与社区互动;学院管理员负责教师管理、业绩初审、数据汇总、通知发布与修正申请;学校管理员承担权限分配、数据维护、业绩终审、统计分析、公告发布与日志审计。 系统实现业绩填报、初审、终审、统计归档全流程线上化,支持批量导入、敏感词过滤、数据可视化、7×24小时AI咨询等功能,规范管理流程、减少统计误差、提升审核效率。测试表明,系统满足高校教学业绩精细化、规范化、信息化管理需求,为教师考核、绩效评定、教学评估提供数据支撑,提升高校教学管理智能化水平。 关键词: SpringBoot;Vue;教学业绩管理;三级权限;前后端分离
内容概要:本文围绕“基于雅可比伪逆迭代的双臂协同轨迹规划与跟踪误差收敛性研究”展开,通过Matlab代码实现双机械臂系统的协同运动控制与轨迹跟踪。研究采用雅可比伪逆法求解冗余机械臂的逆运动学问题,实现末端执行器在笛卡尔空间中的精确轨迹规划,并引入迭代优化机制提升双臂协同作业的精度与稳定性。重点分析了轨迹跟踪过程中误差的收敛特性,验证了所提控制算法在多自由度强耦合系统中的有效性和鲁棒性,适用于复杂环境下需要高精度配合的机器人协同操作任务。该研究属于科研仿真复现类工作,融合了机器人运动学理论、数值计算方法与控制算法设计,为多机械臂系统提供了可行的轨迹规划与控制策略参考。; 适合人群:具备扎实的机器人学基础、自动控制理论知识以及良好Matlab编程能力的科研人员或研究生,尤其适合从事多机械臂协同控制、运动规划、逆运动学求解及误差分析等方向的研究者。; 使用场景及目标:①用于多机械臂系统的协同轨迹规划与运动控制算法研究;②深入理解基于雅可比伪逆法的逆运动学求解原理及其在冗余机构中的应用;③分析轨迹跟踪误差的收敛行为,评估控制策略的稳定性与精度;④作为高质量论文复现资源,支撑相关课题的仿真验证、算法对比与改进创新。; 阅读建议:建议结合Matlab代码与机器人运动学经典理论同步学习,重点关注雅可比矩阵的构建、伪逆运算的实现方式、误差反馈机制的设计以及迭代过程中的数值稳定性处理,同时可进一步拓展至非线性优化、避免奇异位形及实时控制策略的改进研究。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧