Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.06.2011, 18:45
Andr-X Andr-X вне форума
Прохожий
 
Регистрация: 18.06.2011
Сообщения: 1
Репутация: 10
По умолчанию Экспорт в Excel поля типа Memo

Прошу вашей помощи, при при экспорте всех полей появляется ошибка "Недостаточно памяти для завершения операции", но как только в экспорт не попадает поле "Описание" (тип Memo), то все проходит на ура. Очень нужно помогите кто сможет.

Таблица Access.

вот код Экспорта:
Код:
procedure TExportExl.ExportToExl;
var
 XLApp,Sheet,Colum:Variant;
 index,i, m, n:Integer;
begin
 XLApp:= CreateOleObject('Excel.Application');
 XLApp.Visible:=cbResult.Checked;
 XLApp.Workbooks.Add(-4167);
 XLApp.Workbooks[1].WorkSheets[1].Name:='Отчет';
 Colum:=XLApp.Workbooks[1].WorkSheets['Отчет'].Columns;
 for n:=0 to export_column.Count-1 do begin
 if export_column.Items.Strings[n]='Название книги' then
 Colum.Columns[n+1].ColumnWidth:=50;
 if export_column.Items.Strings[n]='Автор' then
 Colum.Columns[n+1].ColumnWidth:=25;
 if export_column.Items.Strings[n]='Издатель' then
 Colum.Columns[n+1].ColumnWidth:=30;
 if export_column.Items.Strings[n]='Год' then
 Colum.Columns[n+1].ColumnWidth:=10;
 if export_column.Items.Strings[n]='Обьем' then
 Colum.Columns[n+1].ColumnWidth:=10;
 if export_column.Items.Strings[n]='Примечание' then
 Colum.Columns[n+1].ColumnWidth:=30;
 if export_column.Items.Strings[n]='Должник' then
 Colum.Columns[n+1].ColumnWidth:=14;
 if export_column.Items.Strings[n]='Описание' then
 Colum.Columns[n+1].ColumnWidth:=50;
 
 end;
 Colum:=XLApp.Workbooks[1].WorkSheets['Отчет'].Rows;
 Colum.Rows[2].Font.Bold:=true;
 Colum.Rows[2].HorizontalAlignment:=3;
 XLApp.Range['A3'].Select;
 XLApp.ActiveWindow.FreezePanes:=True;
 Colum.Rows[1].Font.Bold:=true;
 Colum.Rows[1].Font.Color:=clBlue;
 Colum.Rows[1].Font.Size:=12;

 Sheet:=XLApp.Workbooks[1].WorkSheets['Отчет'];
 Sheet.Cells[1,2]:=main.Caption;
 for m:=0 to Export_column.Count-1 do begin
 Sheet.Cells[2,m+1]:=Export_column.Items.Strings[m];
 end;
 index:=3;
 main.Table1.First;
 ProgressBar.Max:=main.Table1.RecordCount-1;
 ProgressBar.Position := 0;
 ProgressBar.Step := 1;
 for i:=0 to main.Table1.RecordCount-1 do
  begin
 for n:=0 to export_column.Count-1 do begin
 if export_column.Items.Strings[n]='Название книги' then
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[1].AsString;
 if export_column.Items.Strings[n]='Автор' then begin
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[2].AsString;
 Sheet.Cells[index,n+1].HorizontalAlignment:=3; end;
 if export_column.Items.Strings[n]='Издатель' then begin
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[3].AsString;
 Sheet.Cells[index,n+1].HorizontalAlignment:=3; end;
 if export_column.Items.Strings[n]='Год' then
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[4].AsString;
 if export_column.Items.Strings[n]='Объем' then
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[5].AsString;
 if export_column.Items.Strings[n]='Примечание' then
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[6].AsString;
 if export_column.Items.Strings[n]='Должник' then begin
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[7].AsString;
 Sheet.Cells[index,n+1].HorizontalAlignment:=3; end;
 if export_column.Items.Strings[n]='Описание' then
 Sheet.Cells[index,n+1]:=main.Table1.Fields.Fields[8].AsString;
 end;
   Inc(index);
   ExportExl.Update;
   Main.Update;
   ProgressBar.StepIt;
   main.Table1.Next;
  end;
  XLApp.DisplayAlerts := false;
  XLApp.ActiveWorkbook.SaveAs(FileNameEdit1.FileName);
  XLApp.Quit;
  XLApp:= UnAssigned;
  main.Table1.First;
  Showmessage('Экспорт завершен');
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:09.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter