У меня есть этот текущий код, который вводит «AAPL» в лист Excel, и возвращает соответствующее значение.
Я хотел бы сделать так, чтобы после cout << "Ticker: ";
я могу ввести символ тикера (например, AAPL) и использовать его как variant_t ticker = "xxx".
Я пытался сделать это с помощью string
но я получаю ошибку, которая говорит, что не может конвертировать из 'std::string to const _variant_t &'
Есть какой-либо способ сделать это? Заранее спасибо.
XL->Workbooks->Open(L"F:\\xxx\\Desktop\\fxxxx.xlsx");
Excel::RangePtr pRange = pSheet->Cells;
cout << "Ticker: ";
variant_t ticker = "AAPL";
pRange->Item[2][1] = ticker;
double value = pRange->Item[2][2];
cout << "\n Value = " << value << endl;
Вызов ticker.SetString(str.c_str())
должен сделать работу.
Увидеть:
http://msdn.microsoft.com/en-us/library/x295h94e%28v=vs.100%29.aspx
Вот рабочий код:
XL->Workbooks->Open(L"F:\\xx\\Desktop\\xxz.xlsx"); //Open databse
Excel::_WorksheetPtr pSheet = XL->ActiveSheet; //Point to Active Sheet
Excel::RangePtr pRange = pSheet->Cells; //Point to Active Cells
cout << " Ticker: "; //Prompt Ticker
string tick; //Define string "tick" to store ticker
cin >> tick; //Store ticker
variant_t ticker; //Define variant to be used for ticker
ticker.SetString(tick.c_str()); //Convert string to variant
pRange->Item[2][1] = ticker; //Write ticker to cell
double bi = pRange->Item[2][2]; //Read Beta, store as "bi"cout << "\n Beta = " << bi << endl; //Return Value
XL->Application->Quit();