【发布时间】:2016-12-10 04:39:35
【问题描述】:
我正在编写一个函数,它采用文件路径和 SQL 查询(都作为字符串)作为返回查询的结果。在 VBA 中很容易做到,因为返回类型只是 Variant。由于我无法使用 ExcelDNA 返回 DataTable,我想知道这样做的正确方法是什么?
返回类型是二维对象数组吗?例如
public static object[,] RunQueryCS(string SQLStatement, string FilePath)
如果是,那么填充返回数组的推荐方法是什么?我是否应该遍历整个表格并一次填充每个单元格?下面的示例代码(dt是DataTable),
object[,] ret = new object[dt.Rows.Count + 1, dt.Columns.Count + 1];
int rowCount = 0;
foreach (DataRow row in dt.Rows)
{
rowCount++;
int colCount = 0;
foreach (DataColumn col in dt.Columns)
{
colCount++;
ret[rowCount, colCount] = row[col];
}
}
这是实现这一目标的最有效方法吗?
【问题讨论】:
-
您会在从 VBA 返回的“变体”中添加什么内容?
-
Govert,我已经在 Excel DNA Google Group 上回复了您。