var cell = new {text = cellText, color = textColor, format = textFormat};
我在 DataTable 的每个单元格里存上 cell 这样的对象,遍历 DataTable 的时候,为啥不能
dr[coloumIndex].text 这样挨个读出 text 、 color 和 format 呢?是不是因为不管啥存到 DataTable 里,都被变成了 System.String 啊?
其实就是我想写个东西读 excel 表格里的文字、文字格式和文字颜色,发现 C# 很方便就看了一点 C#就开始写了。如果只读文本的话,直接把读到的 text 以 string 形式存到 DataTable 再遍历就很方便,但是再包括颜色和文本格式就很麻烦。我能想到的办法就是写 3 个方法,一个读文本,一个读颜色,一个读格式,那这样就需要 3 个 DataTable,感觉有点不科学,求助大家一下,谢谢谢谢~
1
bin456789 2015-11-16 00:03:15 +08:00
dr[coloumIndex]是整行,你忘了指定哪个列
将单元格转为 dynamic 就可用了,例如 ((dynamic)dr[0]["a"]).color 还要注意添加列的时候要标明 object 类型, dt.Columns.Add("a",typeof(object)); |