C# 创建excel文件时尝试计数行
我有一个正在转换为Excel电子表格的GridView。我希望第一列计算行数,即如果电子表格中有10行,则第一列应显示1到10。但现在电子表格只是显示所有列的最后一个数字。因此,如果excel有10行,则每行都有数字10,而不是从一行开始计算C# 创建excel文件时尝试计数行,c#,asp.net,excel,C#,Asp.net,Excel,我有一个正在转换为Excel电子表格的GridView。我希望第一列计算行数,即如果电子表格中有10行,则第一列应显示1到10。但现在电子表格只是显示所有列的最后一个数字。因此,如果excel有10行,则每行都有数字10,而不是从一行开始计算 int Sno = 1; for (Sno = 1; Sno < ds.Tables[0].Rows.Count; Sno++) { Sno++; } downloadcsv.WriteLine("\"" + Sno + "\",\"
int Sno = 1;
for (Sno = 1; Sno < ds.Tables[0].Rows.Count; Sno++)
{
Sno++;
}
downloadcsv.WriteLine("\"" + Sno + "\",\"" +
dr["CustomerName"].ToString() + "\",\"" +
dr["invoiceno"].ToString() + "\","
);
int Sno=1;
对于(Sno=1;Sno
您有一个对每行进行计数的循环,但您没有在循环内设置任何值。仅在循环后设置一个值。当然,您只需要设置最后一行的数字
您需要在循环体内部为每一行设置数据
对不起,我想为您草拟代码,但我真的不知道什么是downloadcsv
,或者您究竟为什么要这样使用WriteLine()
。只需在gridview列中添加“序列号”,而不使用任何计数器
<asp:TemplateField HeaderText="S#" >
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
如果未向用户显示,则使用
<asp:TemplateField HeaderText="S#" Visible="False">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
downloadcvs正在创建excel文件downloadcv=newstreamwriter(newfilestream(FileName,FileMode.Create))代码>。我不知道如何设置每一行的数据。他说只要看看你的循环,是的,你正在计算每一行,但每次循环运行时都会替换数字,所以当你写任何东西时,你只有最后一行number@Scriven是的,我现在明白了,但我仍然不知道如何设置每行的数据。你能举个例子吗?