Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Таблица Exel и БД: экспорт данных из ячеек exel в поля БД?   Найти похожие ветки 

 
В л а д и м и р ©   (2004-03-06 18:36) [0]

Уважаемые мастера, подскажите пожалуйста, каким образом можно не вводя вручную данные, содержащиеся в Exel, экспортировать их в соответствующие поля таблицы БД.
Таблица exel содержит отчет о доходах и расходах на определенную дату. Если для упрощения предположить, что данная таблица exel содержит в своих ячейках 3 записи (06.03.2004 -,дата; 1000 - доход от реализации продукта А; 500 - издержки от реализации продукта А), то как можно осуществить доступ к этим данным, прочитать их и записать в соответствующие поля БД?


 
YurikGl ©   (2004-03-06 19:51) [1]

Самый простой вариант:
Обращаешься по очереди к каждой строке документа и добавляешь ее в БД. Вопрос доступа к документу Excel и считывания информации из ячеек не раз обсуждался на форуме.

Второй вариант. Можно попробовать выделить записи в excel потом copy/paste в таблицу БД. Но, скорее всего, не прокатит.


 
Zacho ©   (2004-03-06 20:05) [2]

Еще вариант: прямо из Excell можно сохранить таблицу в dbf


 
Dr.Alex ©   (2004-03-07 01:21) [3]

type
 TExcell = class(TForm)
   Button1: TButton;
   XLApp: TExcelApplication;
   ExcelWorksheet: TExcelWorksheet;
   ExcelWorkbook: TExcelWorkbook;
   BitBtn1: TBitBtn;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Excell: TExcell;

implementation

uses Unit4, Unit2, QRepor, Unit1, Unit3, Unit5;

{$R *.dfm}

procedure TExcell.Button1Click(Sender: TObject);
var
WorkBk : _WorkBook;
WorkSheet : _WorkSheet;
R, X, Y,a,b : Integer;
IIndex : OleVariant;
RangeMatrix : Variant;
NomFich : WideString;
s:string;
begin
dminternet.TPrice.Edit;
for b:=1 to dminternet.TPrice.RecordCount do dminternet.TPrice.Delete;
NomFich := "G:\Work\MY DOckумент\Прайс\1.xls";
IIndex := 1;
XLApp.Connect;
// Открываем файл Excel
XLApp.WorkBooks.Open(NomFich,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0);
WorkBk := XLApp.WorkBooks.Item[IIndex];
WorkSheet := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;
// Чтобы знать размер листа (WorkSheet), т.е. количество строк и количество
// столбцов, мы активируем его последнюю непустую ячейку
WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
// Получаем значение последней строки
X := XLApp.ActiveCell.Row;
// Получаем значение последней колонки
Y := XLApp.ActiveCell.Column;
// Определяем количество колонок в TStringGrid
 //GenericStringGrid.ColCount := Y;
// Сопоставляем матрицу WorkSheet с нашей Delphi матрицей
 RangeMatrix := XLApp.Range["A1",XLApp.Cells.Item[X,Y]].Value;
// Выходим из Excel и отсоединяемся от сервера
 XLApp.Quit;
 XLApp.Disconnect;
//  Определяем цикл для заполнения
   for R := 1 to X do begin
     dminternet.TPrice.Append;\\ dminternet.TPrice - это моя база вставте путь к своей и все будет работать
     
     dminternet.TPricePPos.Value:=R;

     dminternet.TPricePLocator.Value:=Copy(RangeMatrix[R,1],2,Length(RangeMatrix[R,1]));
     dminternet.TPricePName.Value:=Copy(RangeMatrix[R,2],2,Length(RangeMatrix[R,2]));// Ну и так далее
   end;
   end;
end.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
1-1079624140
Yuri Btr
2004-03-18 18:35
2004.04.04
Один экземпляр объекта в двух TList


1-1079535562
Совсем чайник
2004-03-17 17:59
2004.04.04
Двойной щелчок на мыши.


7-1074239041
Max_222
2004-01-16 10:44
2004.04.04
Как лучше заблокировать txt-файл...


1-1079088003
ChcngerMan
2004-03-12 13:40
2004.04.04
DLL


4-1075176461
Drunya
2004-01-27 07:07
2004.04.04
Как поймать заголовки окон