如何获取_variant_t的值?

时间:2013-02-20 08:24:24

标签: c++ excel variant

我想知道如何获取_variant_t类型的值。

我已经使用GetItems()知道该方法的值,例如:

_variant_t var = pRs->Fields->GetItem(i)->GetValue();

在Excel文件(.xls)中,我找不到整行数据的方法。

1 个答案:

答案 0 :(得分:2)

您可以使用一组提取器从变体类型中提取数据。只需将其转换为变量所代表的类型即可。要获得内部类型,请检查'vt'成员。

以下是MSDN的文章。

示例代码:

#include <Windows.h>
#include <comutil.h>
#include <cassert>

#pragma comment(lib, "comsuppw.lib")

int main()
{
    _variant_t v(10.0);
    assert(v.vt == VT_R8); // inner type is double

    double value = static_cast<double>(v); // 10.0

    return 0;
}