Импорт в Делфи от Ексел

11 отговора 501 прегледа
#1

Импорт в Делфи от Ексел

Търсих, но ненамерих подобна друга тема тук за това директно питам : Някой може ли да ми помогне(обясни) как да импорт от Ексел един файл в Делфи и след това да запиша данните в База Данни или т.е. данните от Ексел да отидат в базата данни. Таблицата съм си я направил, като полетата от Ексел-а фигурират в нея, така че поне от тази гледна точка няма да има проблем...ако съм бил достатъчно ясен и някой може да ми помогне ще съм благодарен. СПЕШНО МИ Е :)) мерси на всички отзовали се :Р

Отговор
в отговор на Mastermind #2

Re: Импорт в Делфи от Ексел

Не е вярно, че няма такива теми. Има и то много. Но все пак ето текст от една,
която сам постнал преди:

Има много варианти. Ето ти няколко:

1.Използващ ADO компоненти с които можещ да четеш и пишеш в excel файл като в релационна база данни (с Select * from... и Insert into...). Шиитовете са ти таблиците.

2.Използваш готови компоненти за достъп до excel файл. Тези които съм ползвал обаче са платени. не съм намирал добри и безплатни

3.Използваш ком обект excel. За целта е необходимо да има инсталиран excel.


Понеже трябва да отидат в база, най лесно ще е с 1.

Отговор
в отговор на vido #3

Re: Импорт в Делфи от Ексел

Да успях точно чрез ADO да "вкарам" съдържанието на Ексел-а в един ДбГрид.....но май-тотално забих щото не мога сега да измисля как да вкарам от този грид в една табличка тази информация...сигурно е мн тъпо ама нищо не мога да измисля...главата ми гръмна

Отговор
в отговор на Mastermind #4

Re: Импорт в Делфи от Ексел

Ето примерно ръководство:
1) Слагаш две TADOTable
2) С визуалния редактор връзваш едната с Ехехела, другата с Абцеса
3) Цръцваш един бутон, на който на OnClick слагаш подобния код:
' отваряш таблиците
while not TableExcel.Eof do
begin
TableAccess.Insert;
TableAccess.FieldByName (...).Value:=TableExcel.FieldByName (...).Value;
TableAccess.FieldByName (...).Value:=TableExcel.FieldByName (...).Value;
...
TableAccess.FieldByName (...).Value:=TableExcel.FieldByName (...).Value;
TableAccess.Post;
TableExcel.Next;
end;
' затваряш таблиците

чети и дишай по-леко
Отговор
в отговор на Mastermind #5

Що не организираш някой да я свърши тая работа?

MASTER-MIND
['ma:stəmaind]
I. n ръководител, душа, главен организатор
II. v планирам, организирам, ръководя


А сега сериозно - този екселски файл често ли ще го прехвърляш в таблицата?

Отговор
в отговор на NikB #6

Re: Що не организираш някой да я свърши тая работа?

Не един единствен път но записите в него са около хиляда и не ми се пишат на ръка......

Отговор
в отговор на Mastermind #7

Ами има едно дето му се вика DataPump

Ами има едно дето му се вика DataPump, не съм го ползвал точно за ексцел и акцес, но има такива функции.

Overview
Use the Data Pump to move data (both database schema and content) between databases. Both source and target can be either a PC database or a SQL database server.




Редактирано от NikB на

Отговор
в отговор на Mastermind #8

Re: Що не организираш някой да я свърши тая работа?

Щом е само за един път, защо не го запишеш като DBF файл ( Excel поддържа такива формати Save As) и после ще ти бъде по-лесно да работиш с тях като база данни. Само трябва да се съобразиш с кирилицата, ако има текстова информация.

Отговор
в отговор на TRN #9

Защо, ДатаПумпа не ти ли харесва?

Защо, ДатаПумпа не ти ли харесва?

Отговор
в отговор на NikB #10

Re: Защо, ДатаПумпа не ти ли харесва?

Тук въпроса не опира на кой какво му харесва, а да предложим на човека различни варианти, и той да избере това което на него му е удобно за работа.

Отговор
в отговор на TRN #11

Горе-долу :)

Горе-долу :)
Не, това не са мацки, а технология и едната е по-ефективна (става за секунди, без грам кодиране)

Отговор
в отговор на TRN #12

Re: Защо, ДатаПумпа не ти ли харесва?

Само за да допълня вариантите по темата:
От Хексела - save as на файла в csv формат или tabbed text и после го чете и пише в БД.

Отговор