Здравствуйте, гость ( Вход | Регистрация )
|
Алексей1153 |
25.3.2013, 11:14
Сообщение
#1
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
задача - считать исходные данные из экселевского файла. Имеется три колонки, каждую нужно поместить в свой вектор
по всяким примерам с форума сделал чтение таким образом но, блин, так долго вытаскивается даже 1000 значений - капец. Понимаю, что проблема в том, что я по ячейке добываю. Может, как-то не по ячейке можно доставать, а сразу колонку ? |
|
|
|
![]() |
| Гость_Гость_* |
16.2.2015, 22:03
Сообщение
#2
|
|
Гости |
Здравствуйте.
Похожая задача. Нужно читать 3 столбца из *.csv файла. Столбцы читаю (вижу в отладчике значения). .................... Файл *.h QVariantList List1; QVariantList List2; QVariantList List3; ............................. Файл *.cpp ...................... QAxObject *range1 = worksheet->querySubObject("Range(const QVariant&)","A1:A16000"); QAxObject *range2 = worksheet->querySubObject("Range(const QVariant&)","B1:B16000"); QAxObject *range3 = worksheet->querySubObject("Range(const QVariant&)","C1:C16000"); List1 = qvariant_cast<QVariantList> (range1->dynamicCall("Value()")); List2 = qvariant_cast<QVariantList> (range2->dynamicCall("Value()")); List3 = qvariant_cast<QVariantList> (range3->dynamicCall("Value()")); ............................................................. А как выделить элемен из списка List1, List2, List3 - не знаю. Пробовал по разному: ................................................ QVariantList::const_iterator it = List1.constBegin(); int i=1; while (it != List1.constEnd()) { myVarName[i].setValue((*it).toString());//QVariant myVarName[16000] i++; it++; } Не получается. Нужно преобразов List1 в массив строк, List2 в массив даты времени, List3 в массив значений. В отладчике вижу тип QString, но даже его не могу засунуть в myVarName. Спасибо. |
|
|
|
Алексей1153 считывание таблицы из xls (Excel) 25.3.2013, 11:14
lanz Можно получить объект Range, а потом прочитать его... 25.3.2013, 11:51
Алексей1153 lanz, спасибо. Даже работает ) Только я применил ... 25.3.2013, 13:40
lanz Не пробовал. Можно посмотреть в сторону свойства C... 25.3.2013, 14:27
Алексей1153 оставил так, вроде устраивает 25.3.2013, 19:43
Olga Добрый вечер!
Стоит задача считать данные из ... 24.7.2014, 21:28
lanz Можно использовать объект Range, как я уже писал т... 25.7.2014, 23:30
Pavel12345 Вы уверены, что хорошо знаете эксель? Пройдите кур... 9.1.2015, 3:27
lanz ЦитатаНе получается.
Что именно не получается? 16.2.2015, 23:45
Гость Это моя первая работа с Qt (моя специальность элек... 17.2.2015, 8:09
lanz ЦитатаmyVarName[i].setValue((*it).toString());
Дол... 17.2.2015, 9:19
Гость Массивы объявлены:
QVariant myVarName[20000];
QVa... 17.2.2015, 9:40
Гость Я в текстовом поле (Я не наблюдаю значения перемен... 17.2.2015, 10:11
Гость В отладчика переменная "myVarName[i].setValu... 17.2.2015, 13:13
pfuser Здравствуйте, еще раз.
Зарегестрировался.
Вопрос е... 17.2.2015, 13:34
pfuser Если напрямую установить значение: myVarName[3].se... 17.2.2015, 15:18
pfuser Все правильно, что-то с типа ми объявления.
У мен... 17.2.2015, 16:56
lanz Фишка в том, что Range() возвращает двумерный масс... 17.2.2015, 20:25
pfuser Цитата(lanz @ 17.2.2015, 20:25) Используй... 17.2.2015, 20:43
lanz ЦитатаТолько не понятно, почему через итератор QVa... 18.2.2015, 19:58
pfuser Цитата(lanz @ 18.2.2015, 19:58) Так как т... 19.2.2015, 8:14
lanz ЦитатаЧто-то понял, а пробразовать в то что нужно ... 19.2.2015, 9:14
pfuser QList<QVariant> и QVariantList - чем отличаю... 19.2.2015, 9:53
lanz Это одно и то же:
http://qt-project.org/doc/qt-4.8... 19.2.2015, 10:28![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 17.12.2025, 0:26 |