在DataTable循环中将未知类型的单元格值传递给重载方法
本文关键字:值传 单元格 方法 重载 类型 循环 DataTable 未知 | 更新日期: 2023-09-27 18:16:28
第一次使用严格类型语言,遇到一些问题。
从MySQL适配器获取的数据填充一个DataTable对象。
列类型与MySQL表保持一致。
启动NPOI,创建xls表。下一步是在循环中写入数据。问题就在这里
http://pastebin.com/NzVqzWE0SetCellValue方法重载所有需要的类型,但它可以猜测更合适的重载自动?我错过什么了吗?
将所有值转换为字符串不能帮助,因为我需要在工作表中格式化数字。
从技术上讲,这段代码工作,我正在寻找正确的方法来处理这个
您可以使用dynamic
关键字将重载解析延迟到运行时:
foreach (DataColumn column in data.Columns)
{
ICell cell = dataRow.CreateCell(column.Ordinal);
cell.SetCellValue((dynamic)row[column]);
}
请注意,如果没有匹配的重载,将导致运行时异常而失败。