Форум программистов, компьютерный форум CyberForum.ru

запись в excel - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.64
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
16.03.2010, 23:54     запись в excel #1
здравствуйте,

подскажите, пожалуйста, как записать данные в файл формата Excel, например так:
колонка 1: имя1; ; имя2 ...
колонка 2: возраст1; возраст2 ...
колонка 3: профессия1; профессия2

ну и так далее...

Спасибо всем заранее
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Зоти Сергей
 Аватар для Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
17.03.2010, 00:46     запись в excel #2
На билдере написал. Подойдет?
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
79
80
81
82
83
84
85
86
87
88
89
90
91
//---------------------------------------------------------------------------
#include <vcl.h>
#include<utilcls.h>
#include <clipbrd.hpp>
#include <conio.h>
//---------------------------------------------------------------------------
Variant App,Sh;
//----------------------------------------------------------------
void __fastcall toExcelCell(int Row,int Column, AnsiString data)
{
    try
        {
            Variant  cur = Sh.OlePropertyGet("Cells", Row,Column);
            cur.OlePropertySet("Value", data.c_str());
    }
        catch(...)
        {
 
        }
}
//------------------------------------------------------------------------
bool  ExcelInit(String File)
{
    try
        {
            App=Variant::CreateObject("Excel.Application");
        }
        catch (...)
        {
            Application->MessageBox("No Excell Detected Microsoft Excel!","Error!!!",MB_OK+MB_ICONERROR);
            return false;
    }
    try
        {
            if(FileExists(File))
                App.OlePropertyGet("WorkBooks").OleProcedure("Open",File);
            else
                App.OlePropertyGet("WorkBooks").OleProcedure("add");
            Sh=App.OlePropertyGet("WorkSheets",1);
    } catch(...)
        {
            Application->MessageBox("Could Not Open Microsoft Excel Book!",
                                         "Error",MB_OK+MB_ICONERROR);
                return false;
    }
    return true;
}
 
//------------------------------------------------------------------------
void __fastcall CloseExcelFile(String File)
{
    if(!App.IsEmpty())
            App.OlePropertySet("Visible",false);
        App.OlePropertySet("DisplayAlerts",false);
        try
        {
            App.OlePropertyGet("WorkBooks",1).OleProcedure("SaveAs",File);
        }
        catch(...)
        {
            ShowMessage("Could not Save Excel File !");
        }
        try
        {
            App.OlePropertyGet("WorkBooks",1).OleProcedure("Close");
        }
        catch(...)
        {
            ShowMessage("Could not Close Excel!!!");
        }
        Sh.Clear();
        App.Clear();
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    if(!SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
            return 0;
    ExcelInit("C:\\MyNewTest.xls");
        toExcelCell(1,1,String("Imja 1"));
        toExcelCell(2,1,String("Imja 2"));
        toExcelCell(1,2,String("Vozrast 1"));
        toExcelCell(2,2,String("Vozrast 2"));
        toExcelCell(1,3,String("Professia 1"));
        toExcelCell(2,3,String("Professia 2"));
        CloseExcelFile("C:\\MyNewTest.xls");
        CoUninitialize();
        getch();
    return 0;
}
//---------------------------------------------------------------------------
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
17.03.2010, 00:48  [ТС]     запись в excel #3
спасибо!
Ксюшк@
0 / 0 / 0
Регистрация: 02.06.2010
Сообщений: 17
01.06.2011, 08:46     запись в excel #4
подскажите,я как сделать наоборот?ТОесть данные потом из екселя вывести в билдер?но не теже самые?
Yandex
Объявления
01.06.2011, 08:46     запись в excel
Ответ Создать тему
Опции темы

Текущее время: 13:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru