创建excel文件时尝试计算行数

时间:2015-10-22 16:13:47

标签: c# asp.net excel

我有一个GridView,我正在转换为Excel电子表格。我希望第一列计算行数,即如果电子表格中有10行,则第一列应显示1到10.但是现在电子表格只显示所有列的最后一个数字。因此,如果excel有10行,则每行的数字为10,而不是从1开始计算。

int Sno = 1;
for (Sno = 1; Sno < ds.Tables[0].Rows.Count; Sno++)
{
       Sno++;
}

downloadcsv.WriteLine("\"" + Sno + "\",\"" +                            
                    dr["CustomerName"].ToString() + "\",\"" +
                    dr["invoiceno"].ToString() + "\","
                 );

2 个答案:

答案 0 :(得分:1)

你有一个循环计算每一行,但你没有在循环中设置任何值。您只在循环后设置一个值。所以你当然只设置最后一行的数字。

您需要为循环体内的每一行设置数据。

抱歉,我已经为您勾勒出代码,但我无法确切地告诉您downloadcsv是什么或为什么在地球上您使用WriteLine()就像那样

答案 1 :(得分:0)

简单添加&#34;序列号&#34;在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>