Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как экспортировать StringGrid в MS Word таблицу

Delphi , Технологии , OLE Automation MSOffice

Как экспортировать StringGrid в MS Word таблицу

Автор: http://www.swissdelphicenter.ch

uses
  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
  WordApp, NewDoc, WordTable: OLEVariant;
  iRows, iCols, iGridRows, jGridCols: Integer;
begin
  try
    // Create a Word Instance
    // Word Instanz erzeugen
    WordApp := CreateOleObject('Word.Application');
  except
    // Error...
    // Fehler....
    Exit;
  end;

  // Show Word
  // Word anzeigen
  WordApp.Visible := True;

  // Add a new Doc
  // Neues Dok einfugen
  NewDoc := WordApp.Documents.Add;

  // Get number of columns, rows
  // Spalten, Reihen ermitteln
  iCols := StringGrid1.ColCount;
  iRows := StringGrid1.RowCount;

  // Add a Table
  // Tabelle einfugen
  WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows);

  // Fill up the word table with the Stringgrid contents
  // Tabelle ausfullen mit Stringgrid Daten
  for iGridRows := 1 to iRows do
    for jGridCols := 1 to iCols do
      WordTable.Cell(iGridRows, jGridCols).Range.Text :=
        StringGrid1.Cells[jGridCols - 1, iGridRows - 1];

  // Here you might want to Save the Doc, quit Word...
  // Hier evtl Word Doc speichern, beenden...

  // ...

  // Cleanup...
  WordApp := Unassigned;
  NewDoc := Unassigned;
  WordTable := Unassigned;
end;

Программный код на Delphi использует библиотеку COM для взаимодействия с Microsoft Word и экспорта содержимого компонента StringGrid в таблицу нового документа Word. Вот подробное описание того, что код делает:

  1. Создается экземпляр Word с помощью CreateOleObject('Word.Application').
  2. Показывается приложение Word.
  3. Добавляется новый документ в Word.
  4. Извлекаются количество столбцов и строк из компонента StringGrid.
  5. Добавляется таблица в документ Word с тем же количеством столбцов и строк, что и у StringGrid.
  6. Проводится цикл по каждому ячейке StringGrid, и соответствующая ячейка в таблице Word устанавливается в значение этой ячейки.

Для экспорта StringGrid в таблицу MS Word:

  1. Создается новый экземпляр Word с помощью CreateOleObject('Word.Application').
  2. Показывается приложение Word.
  3. Добавляется новый документ в Word.
  4. Извлекаются количество столбцов и строк из компонента StringGrid.
  5. Добавляется таблица в документ Word с тем же количеством столбцов и строк, что и у StringGrid.
  6. Проводится цикл по каждому ячейке StringGrid, и соответствующая ячейка в таблице Word устанавливается в значение этой ячейки.

Примечание: код предполагает, что компонент StringGrid называется StringGrid1. Если у вашего грида есть другой имя, вам нужно заменить это имя в коде.

В статье описывается процесс экспорта StringGrid в таблицу Microsoft Word с помощью Delphi и использования компонента ComObj.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: OLE Automation MSOffice ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:39:39/0.0037100315093994/0