代码之家  ›  专栏  ›  技术社区  ›  Lumpy

Win格式的数据表

  •  2
  • Lumpy  · 技术社区  · 16 年前

    我想从Excel中复制两列,并在C程序中处理它们。在Win表单中,模拟Excel列的最佳组件是什么?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Paul Sasik    16 年前

    您可以编写一个例程,该例程将剪贴板数据拉入,如下所示:

        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // create dataset to hold csv data:
            DataSet ds = new DataSet();
            ds.Tables.Add();
            ds.Tables[0].Columns.Add();
            ds.Tables[0].Columns.Add();
            ds.Tables[0].Columns.Add();
            ds.Tables[0].Columns.Add();
            ds.Tables[0].Columns.Add();
            ds.Tables[0].Columns.Add();
    
            string[] row = new string[1];
    
            // read csv data from clipboard
            IDataObject t = Clipboard.GetDataObject();
            System.IO.StreamReader sr =
                    new System.IO.StreamReader((System.IO.MemoryStream)t.GetData("csv"));
    
            // assign csv data to dataset      
            while (!(sr.Peek() == -1))
            {
                row[0] = sr.ReadLine();
                ds.Tables[0].Rows.Add(row);
            }
    
            // set data source
            dataGridView1.DataSource = ds.Tables[0];
        }
    

    清理代码并测试代码示例。它仍然很粗糙,但显示了固定列数的能力。(粘贴超过六个将崩溃,任何更少的工作。)

        2
  •  4
  •   SLaks    16 年前

    你可以使用 DataGridView control .