|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2011, 21:26 | #1 |
Новичок
Джуниор
Регистрация: 03.05.2011
Сообщений: 1
|
Экспорт содержимого Dbgrid в html и xml
Имеется код программы. Экспортирование содержимого таблицы Dbgrid в Exel проходит нормально. Необходимо экспортировать в html и xml, то есть добавить ещё пару кнопок с запрограммированным кодом. Как правильно сделать?
Код программы: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, Grids,DBGrids,ComObj,ActiveX; type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; ComboBox1: TComboBox; ADOQuery2: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; ComboBox2: TComboBox; Edit1: TEdit; ADOQuery3: TADOQuery; DataSource2: TDataSource; DBGrid2: TDBGrid; ADOQuery4: TADOQuery; Button3: TButton; Edit2: TEdit; Label2: TLabel; Button2: TButton; Label1: TLabel; Button4: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var str:string; begin ADOQuery1.First ; ComboBox1.Items.Clear; ComboBox1.Items.Add('Âèä òîâàðà'); ComboBox1.ItemIndex := 0; while not ADOQuery1.Eof do begin Str :=ADOQuery1.FieldByName('TypeName') .AsString; ComboBox1.Items.Add(str); ADOQuery1.Next; end; end; procedure TForm1.Button1Click(Sender: TObject); var Sum:real; Values, ID, Marka, Firm, Pokupatel, Zena, Kol :string; begin ID := ADOQuery2.FieldByName('ID').AsStrin g; Marka := '''' + ADOQuery2.FieldByName('Marka').AsSt ring + ''''; Firm := '''' + ADOQuery2.FieldByName('Firm').AsStr ing + ''''; Pokupatel := '''' + ComboBox2.Text + ''''; Zena := ADOQuery2.FieldByName('Zena').AsStr ing; Kol := Edit1.Text; ADOQuery4.SQL.Clear; ADOQuery4.SQL.Add('INSERT INTO Pokupki (ID, Marka, Firm, Pokupatel, Zena, Kol) '); Values := 'VALUES (' + ID + ', ' + Marka + ', ' + Firm + ', ' + Pokupatel + ', ' + Zena + ', ' + Kol + ')' ; ADOQuery4.SQL.Add(Values); ADOQuery4.ExecSQL; ADOQuery3.Close; ADOQuery3.Open; Sum := 0; while not ADOQuery3.Eof do begin Sum := Sum + ADOQuery3.FieldByName('Zena').AsFlo at * ADOQuery3.FieldByName('Kol').AsFloa t; ADOQuery3.Next; end; Edit2.Text := FloatToStr(Sum); end; procedure TForm1.Button3Click(Sender: TObject); var Sum :real; ID:string; begin ID:= ADOQuery3.FieldByName('ID').AsStrin g; ADOQuery4.SQL.Clear; ADOQuery4.SQL.Add('DELETE FROM Pokupki WHERE ID = ' + ID) ; ADOQuery4.ExecSQL; ADOQuery3.Close; ADOQuery3.Open; Sum := 0; while not ADOQuery3.Eof do begin Sum := Sum + ADOQuery3.FieldByName('Zena').AsFlo at * ADOQuery3.FieldByName('Kol').AsFloa t; ADOQuery3.Next; end; Edit2.Text := FloatToStr(Sum); end; procedure TForm1.ComboBox1Change(Sender: TObject); Var CurID:integer; begin ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('Select * From Device '); if ComboBox1.ItemIndex>0 then begin ADOQuery2.SQL.Add('WHERE TypeID= TypeID'); ADOQuery1.Locate('TypeName', ComboBox1.Text,[]); CurID:=ADOQuery1.FieldByName('TypeI D').AsInteger; ADOQuery2.Parameters.ParamByName('p TypeID').Value := CurID; end; ADOQuery2.Open; end; procedure TForm1.Button2Click(Sender: TObject); var i,j,index: Integer; ExcelApp,sheet: Variant; begin ExcelApp := CreateOleObject('Excel.Application' ); ExcelApp.Visible := False; ExcelApp.WorkBooks.Add(-4167); ExcelApp.WorkBooks[1].WorkSheets[1].name := 'Export'; sheet:=ExcelApp.WorkBooks[1].WorkSheets['Export']; Sheet.Cells[1,1]:='¹'; Sheet.Cells[1,2]:='Ìàðêà'; Sheet.Cells[1,3]:='Ôèðìà'; Sheet.Cells[1,4]:='Ïîêóïàòåëü'; Sheet.Cells[1,5]:='Öåíà'; Sheet.Cells[1,6]:='Êîëè÷åñòâî'; index:=2; ADOQuery3.First; for i:=1 to ADOQuery3.RecordCount do begin for j:=1 to ADOQuery3.FieldCount do sheet.cells[index,j]:=ADOQuery3.Fields[j-1].asstring; inc(index); ADOQuery3.Next; end; ExcelApp.Visible := true; end; procedure TForm1.Button4Click(Sender: TObject); begin end; end. Последний раз редактировалось Discovery-24; 03.05.2011 в 21:49. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Экспорт в xml | alco84 | Microsoft Office Access | 0 | 12.12.2010 20:16 |
Экспорт xls на xml | armagedon_atyrau | Microsoft Office Excel | 9 | 29.06.2010 15:52 |
экспорт из xls в xml для excell 2000 | zzz007 | Microsoft Office Excel | 0 | 20.08.2009 22:47 |
импорт TXT в XLS(расчет по формулам)-экспорт в XML | Zhiltsov | Microsoft Office Excel | 27 | 06.07.2009 11:27 |
Обновление содержимого в HTML | XeN0N | Общие вопросы .NET | 0 | 01.03.2009 13:57 |