2016-11-05 20 views
0

我正在写一个函数,它将文件路径和SQL查询(都作为字符串)作为返回查询的结果。在VBA中很容易做到,因为返回类型只是Variant。由于我无法使用ExcelDNA返回DataTable,我想知道这样做的正确方法是什么?在C#中使用ExcelDNA编写SQL查询

返回类型是2D对象数组吗?例如

public static object[,] RunQueryCS(string SQLStatement, string FilePath) 

如果是,那么填充返回数组的建议方法是什么?我是否应该迭代整个表并逐个填充每个单元格?下面的示例代码(dt是数据表),

 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]; 
      } 
     } 

这是实现这个效率最高的吗?

+0

你会从VBA返回的'Variant'中放入什么? – Govert

+0

Govert,我已在Excel DNA Google Group上回复您。 – insomniac

回答

0

迭代整个表是我选择使用的方法。