我需要对这个DataTable概念有点引导。我正在将数据存储在DataTable中,我首先添加一个如下所示的列来初始化:
DataTable outputData = new DataTable();
outputData.Columns.Add("Reference/Group");
现在,如果我将其写入CSV文件(使用我自己的类),我会得到您所期望的,电子表格软件中的视图,如:
A
1 Reference/Group
然而,当我继续在我的脚本中假设第1行存在时(通过引用outputData.Rows[0]
),我得到:
Exception: There is no row at position 0.
但是,如果我尝试添加含有上述内容的行,则会抱怨没有列。如果我指定列然后添加一行,我可以引用Rows[0]
但到那时我有两行,如:
A
1 Reference/Group
2 Some new row
这里的正确方法是什么,这种行为的原因是什么?
答案 0 :(得分:5)
你应该使用
outputData.Columns[0].ColumnName
而不是
outputData.Rows[0]
因为outputData.Columns.Add("Reference/Group");
不会为您生成新行。您正在使用A1
单元格的列名,而不是行数据
答案 1 :(得分:1)
所有这些都表明您的自定义“导出”代码会在第一个CSV行中显示列名称。它与DataTable
中的实际数据无关。
在插入任何一行之前,你的表中实际上有0行。