С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/117: Рейтинг темы: голосов - 117, средняя оценка - 4.87
2 / 2 / 5
Регистрация: 06.04.2010
Сообщений: 176

Чтение данных из Excel файла

22.10.2010, 16:02. Показов 22478. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, помогите пожалуйста с чтением данных из ячеек *.xls (excel) файла на VC++,
если можно с подробным описанием, что для этого нужно делать и какие библиотеки необходимо подключить
--------------------------------------------------------------------------------------------------
PS: гугль уже гулил, а подобных тем на этом и других форумах много, но нигде не написано по шагово как читать конкретную ячейку,
Заранее благодарен за внимание


Добавлено через 19 минут
может кто посоветует "умную" книжку ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2010, 16:02
Ответы с готовыми решениями:

Чтение данных из Excel файла
Добрый день. Имеется Excel файл некого формата. Первый столбец в нем - числа. Вопрос: Как мне минимальными усилиями считать столбец...

Чтение данных из файла excel
Добрый день! Прошу показать простой пример чтение данных из файла excel. К примеру простого файла две колонки и вывод на печать в...

Чтение данных из Excel-файла.
Подскажите, пожалуйста, каким образом чтитывать данные из excel-таблиц? Пытаясь сделать данным образом: var st: string; dict:...

5
8 / 8 / 1
Регистрация: 31.03.2010
Сообщений: 32
22.10.2010, 16:23
ODBC используй
1
2 / 2 / 5
Регистрация: 06.04.2010
Сообщений: 176
22.10.2010, 18:44  [ТС]
а как?, просто никак не могу найти нормальный и понятный пример чтения данных из конкретной ячейки
0
2 / 2 / 5
Регистрация: 06.04.2010
Сообщений: 176
25.10.2010, 20:48  [ТС]
Народ, что же за солидарность такая? а то и так все на Basic передоходят от сложности, а тут достаточно распространеный вопрос, я ведь не один мучиюсь
0
8 / 8 / 1
Регистрация: 31.03.2010
Сообщений: 32
25.10.2010, 21:53
если интересно то завтра посмотрю где то был исходничек чтения но только с таблицы sql но принцип создания и вытягивания информации один и тот же
0
1 / 1 / 0
Регистрация: 27.08.2009
Сообщений: 2
31.10.2010, 02:45
лови... примерно так можно...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//------------start office.h-------------------
// хедер необходим для использования офиса.....при данной настройке проект будет компилировать только с 2003 офисом
//!!!!для компиляции проекта с другим офисом необходимо изменить пути
 
#pragma once
 
#pragma message("Import MS Office library...")
 
// MS Office 2000 (Add to library directories C:\Program Files\MSOffice\OFFICE\MSO9.DLL)
// MS Office XP (Add to library directories C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL)
// MS Office 2003 (Add to library directories C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL)
 
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\Office11\\MSO.DLL" named_guids,\
    rename("RGB","RGBEx"),\
    rename("DocumentProperties","DocumentPropertiesEx"),\
    rename_namespace("Office")
using namespace Office;
 
#pragma message("Import Visual Basic for Applications library...")
// VB (Add to library directories C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6)
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" named_guids,\
    rename_namespace("VBE")
 
#pragma message("Import MS Add-in designer library...")
// MS Addin designer (Add to library directories C:\Program Files\Common Files\designer)
#import "C:\\Program Files\\Common Files\\designer\\MSADDNDR.DLL" named_guids,\
    raw_interfaces_only
using namespace AddInDesignerObjects;
 
#pragma message("Import MS Word library...")
// MS Word 2000 (Add to library directories C:\Program Files\MSOffice\OFFICE\MSWORD9.OLB)
// MS Word XP (Add to library directories C:\Program Files\MSOffice\OFFICE10\MSWORD.OLB)
// MS Word 2003 (Add to library directories C:\Program Files\MSOffice\OFFICE11\MSWORD.OLB)
 
#import "C:\\Program Files\\Microsoft Office\\OFFICE10\\MSWORD.OLB"\
    rename("ExitWindows","ExitWindowsEx"),\
    rename("FindText","FindTextEx"),\
    rename_namespace("Word")
 
#pragma message("Import MS Excel library...")
// MS Excel 2000 (Add to library directories C:\Program Files\MSOffice\OFFICE\Excel9.OLB)
// MS Excel XP(Add to library directories C:\Program Files\MSOffice\OFFICE10\Excel.EXE)
// MS Excel 2003(Add to library directories C:\Program Files\MSOffice\OFFICE11\Excel.EXE)
/*#import "Excel.exe"\
    exclude("IFont","IPicture"),\
    rename("DialogBox","DialogBoxEx"),\
    rename("RGB","RGBEx"),\
    rename("CopyFile","CopyFileEx"),\
    rename("ReplaceText","ReplaceTextEx"),\
    rename_namespace("Excel")*/
//------------end office.h-------------------
 
//-------using office.h----------
    ::CoInitialize(NULL);            //Инициализация COM
    try 
    {
        using namespace Word;        //использовать неймспейс ворда
        _ApplicationPtr word(L"Word.Application");        //создать COM объект ворда
        _DocumentPtr wdoc1 = word->Documents->Add();    //создать документ
        RangePtr range = wdoc1->Content;                //создать контент
        //SelectionPtr selection = word->Selection;
        range->LanguageID = wdRussian;                    //язык
        range->InsertAfter(_T("Протокол\r\n"));            //добавить наши данные
        for (int i=0;i<GetItemCount();i++)
        {
            range->InsertAfter(GetItemText(i,1).GetBuffer());
            range->InsertAfter(_T("\r\n"));
        }
        wdoc1->SaveAs(&_variant_t(szName));                //сохранить документ в файл
        wdoc1->Close();                                    //закрыть документ
        word->Quit(&_variant_t(false));                    //закрыть COM объект ворда
    }
    catch (_com_error& er) 
    {
        AfxMessageBox(er.ErrorMessage());                //вывести сообщение об ошибке
        return er.WCode();                                //возваратить код ошибки
    }
    ::CoUninitialize();                                    //деинициализация COM
Добавлено через 9 минут
Выше на примере Word, но это через COM... через ODBC конечно лучше...
Коннектишься к таблице через провайдера ODBC... подходящую строку для коннекта берешь с сайта

пример...
Driver={Microsoft Excel Driver (*.xls)}riverId=790bq=C:\MyExcel.xls efaultDir=c:\mypath;

вот с базой DBF - замени строчку коннекта и будет тебе счастье...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CDatabase db;
 
    CString sSQL = "UPDATE PROG_DAN SET SPZ = " + sFileName.Mid(4,7) + " WHERE VISPOS = 1000;";
 
    try
    {
        db.OpenEx("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\\POCHTA;");
 
 
        if (db.IsOpen())
        {           
            db.ExecuteSQL(sSQL);    
        }
 
        db.Close();
    }
    catch(CDBException cdb)
    {
        return -1;
    }
только добавь в заголовочный файл afxdb.h

Добавлено через 27 минут
!!!Нет...извиняюсь, через ODBC не получишь значение из определенной ячейки - только COM остается.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2010, 02:45
Помогаю со студенческими работами здесь

Чтение данных из именованной ячейки Excel файла
Нужно прочитать данные с именованной ячейки файла xls и записать в переменную. Пробовал смотрел xlrd и openpyxl. Но там такого нет. ...

Чтение данных из txt файла и запись их в Excel
помогите пожалста. Такая вот проблемка. Есть файл (*.txt) в нём такой вот текст примерно: 11,2,333,4,51, 6,743,8,569,10, 11, и т.д....

Чтение из файла Excel и перенос данных в memo
день добрый! столкнулся с такой проблемой необходимо столбца exel перенести данные в memo поле на форме. значение из одной ячейки...

Загрузка данных из Excel (только чтение из файла) и запись в БД
Загрузка данных из Excel (только чтение из файла) и запись в БД. Вопрос: как проще открыть в ASP.Net Excel-файл (самое главное), и...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит файл формата .dat Что нужно сделать? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru