从asp表到数组

时间:2012-07-03 17:56:00

标签: c# asp.net excel

我使用asp:

在客户端的网页中创建了一个表
<asp:Table ID="Table1"  GridLines="Both" 
    HorizontalAlign="Center" 
    BorderWidth="2"
    Font-Bold="True"
    Font-Names="Verdana" 
    Font-Size="8pt" 
    CellPadding="15" 
    CellSpacing="0" runat="server">
 </asp:Table>

使用我创建的按钮,我使用数组填充表格:

for (int j=0; j < cells; j++)
{          
    TableRow r = new TableRow();
    for (int i = 0; i < row+1; i++)
    {
        TableCell c = new TableCell();
        c.Controls.Add(new LiteralControl (datar[j,i].ToString()));
        r.Cells.Add(c);
    }
    Table1.Rows.Add(r);
}

此代码可以很好地填充表格。现在我必须创建另一个按钮将表发送到Excel。有谁知道如何做到这一点,或者如何从表中读取数据并发送回另一个数组?

用户必须决定是否要将表中的数据保存到Excel中,这就是创建第二个按钮“保存信息”的原因,按钮一是用于显示信息

1 个答案:

答案 0 :(得分:1)

试试这个。我不能保证100%这样做因为我没有一个实际的表格来填充信息来测试它,但无论如何都要试试这个。

    Table t = new Table();

    List<string> cells = new List<string>();
    foreach (TableRow r in t.Rows)
    {
        foreach (TableCell cell in r.Cells)
        {
            cells.Add(cell.ToString());
        }
    }

    String[] array = cells.ToArray();

这假设我们在开始将东西放入其中之前不必定义固定数组,所以为了避免这种情况,我只是创建了一个数组并将列表转换为一个数组。这在程序上是缓慢的。要获得前面的数组大小,只需将String [TableWidth * TableHeight]相乘即可得到正确大小的固定数组。