4

aspを使用してクライアントのWebページにテーブルを作成しました。

<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に送信するための別のボタンを作成する必要があります。誰かがそれを行う方法、またはテーブルからデータを読み取って別の配列に送り返す方法を知っていますか?

ユーザーは、卓越するためにテーブルからデータを保存するかどうかを決定する必要があります。これが、2番目のボタン「情報の保存」を作成する理由です。ボタン1は情報を表示するためのものです。

4

1 に答える 1

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();

これは、何かを入れる前に固定配列を定義する必要がないことを前提としているため、これを避けるために、単純に配列を作成し、リストを 1 つに変換しました。それはプログラム的に遅いです。事前に配列サイズを取得するには、String[TableWidth * TableHeight] を掛けるだけで、正しいサイズの固定配列が得られます。

于 2012-07-03T18:56:31.277 に答える