我想从excel复制两列并在c#程序中处理它们。什么组件最适合用来模仿win形式的excel列?
答案 0 :(得分:4)
您可以使用DataGridView control。
答案 1 :(得分:3)
您可以使用以下内容编写一个拉入剪贴板数据的例程:
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];
}
清理代码并测试代码示例。它仍然很粗糙但是用固定数量的列来演示这种能力。 (超过六次的粘贴会崩溃,任何不足都应该有效。)