_variant_tタイプの値を取得する方法を知りたいです。
GetItems()を使用した値のメソッドをすでに知っています。例:
_variant_t var = pRs->Fields->GetItem(i)->GetValue();
Excelファイル(.xls)で、行のデータ全体を処理するメソッドが見つかりません。
バリアント型からデータを抽出するために使用できるエクストラクターのコレクションがあります。バリアントが表す型にキャストするだけです。内部型を取得するには、「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;
}