如何以表的形式将数据表检索到列表框中

时间:2014-02-09 11:37:29

标签: c# asp.net excel

我正在创建一个将excel提取到数据表中的应用程序,该数据表将显示在列表中。但问题是所有数据都将行方式数据放入列表框中。

DataTable dt = new DataTable();
DataSet ds = new DataSet();
DataTable sheet = dbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,  null);
OleDbCommand selectCmd = new OleDbCommand(String.Format("SELECT * FROM   [{0}]", sheet.Rows[0]["TABLE_NAME"]), dbConn);
OleDbDataAdapter dbAdapter = new OleDbDataAdapter(selectCmd);
dbAdapter.Fill(dt);


foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn col in dt.Columns)
    {
        ListBox1.Items.Add(row[col].ToString());
    }
}

1 个答案:

答案 0 :(得分:1)

为什么不使用DataGridView类?然后就可以直接将DataTable设置为数据源。

dataGridView1.DataSource = dt;

对于列表框,您需要创建一个表示每列的字符串。这很难对齐。如果你想修改单元格值,那将非常麻烦。

foreach (DataRow row in dt.Rows)
{
    var sb = new StringBuilder();
    foreach (DataColumn col in dt.Columns)
    {
        sb.Append(row[col] + "\t");
    }
    ListBox1.Items.Add(sb.ToString());
}