C# 如何在C中创建具有已知列数和未知行数的datatable#

C# 如何在C中创建具有已知列数和未知行数的datatable#,c#,datatable,export-to-excel,C#,Datatable,Export To Excel,我有60列和未知行。我不断地获取数据,比如Current.Cursor.Position.X和Current.Cursor.Position.Y以及其中的许多数据。因此,没有未知的行数。我想很好地保存这些数据。我不想忙于db。这个话题我是新手。我试图把它们保存在一个文本文件中。我成功了,但那不是一个顺序。我想把它整理好。什么是最完美的解决方案?如果你能提供示例代码,这将是完美的我更好地理解 System.Data.DataTable DT = new System.Data.Da

我有60列和未知行。我不断地获取数据,比如
Current.Cursor.Position.X
Current.Cursor.Position.Y
以及其中的许多数据。因此,没有未知的行数。我想很好地保存这些数据。我不想忙于db。这个话题我是新手。我试图把它们保存在一个文本文件中。我成功了,但那不是一个顺序。我想把它整理好。什么是最完美的解决方案?如果你能提供示例代码,这将是完美的我更好地理解

        System.Data.DataTable DT = new System.Data.DataTable();

        DT.Columns.Add( " 1 ");
        DT.Columns.Add("Column2");
        DT.Columns.Add("Column3");
        DT.Columns.Add("Column60");


           DT.Rows.Add(skeleton.Joints[JointID.Head].Position.X,skeleton.Joints[JointID.Head].Position.Y, skeleton.Joints[JointID.Head].Position.Z);


        foreach (DataRow row in DT.Rows)
        {

            StreamWriter fileWriter = new StreamWriter("table.csv",true);
            fileWriter.WriteLine(row[0].ToString() + row[1].ToString() + row[2].ToString());
            fileWriter.Close();

            }

这段代码应该可以让你开始

//create an instance of a table
System.Data.DataTable DT = new System.Data.DataTable();
//dynamically add columns
DT.Columns.Add("Column1");
DT.Columns.Add("Column2");
DT.Columns.Add("Column3");
.
.
.
DT.Columns.Add("Column60");

//this is how you add rows to it
DT.Rows.Add("val1", "val2", "val3",...."val60");

//this is how you retrieve it
foreach (DataRow row in DT.Rows)
{
   Console.Writeline(row[0].toString()); //returns the first column for each iteration
}

希望这对你有帮助。。别忘了投赞成票

只有一个完美的解决方案:a.你想好好保存它,但接下来呢?你打算怎么使用这些数据?我不会用的。只是为了展示一下。我不会取回它,也不会发送它。我将只存储它们以供以后显示。感谢此解决方案,但我必须将其作为输出文件。不在控制台上。此外,在该代码中,行号是确定的。但在我的项目中,行数是不确定的。有什么想法吗?把它写进一个文件。所提供的是一个示例应用程序。写入一个文件是微不足道的。实际上,在这个例子中,行号是不确定的,如果您仍然不明白,请再看一次。打开一本关于的书。NETRamhound是正确的。。我所做的是创建一个列,例如最多60列。。。您可以根据需要添加任意多的行。。。然后,您可以将控制台.WrangLink更改为代码,例如写入文件…@ Ramhound:谢谢您的建议,但您不应该认为我是一个专业的C开发人员。如果我能一目了然地理解一切,我不会在这里问。我要求在这里得到的想法和学习的意义。菲利普:我的意思是说“不确定”:如果我有500行,那么我需要在那里写500个VAL。每次应用程序启动时,我的行都会发生变化。我正试图得到这个问题的答案。也谢谢你的建议,我会试试这些。@Samet你可以想做多少次就做多少次。。。增加(“val1”、“val2”、“val3”、“val60”);它有一行60列。。。所以你只需要循环到你想要的次数