Работа с Excel

Microsoft-Excel-Featured-Image

Для работы с Excel файлами без установленного на ПК MS Office, можно использовать компонент FPSpreadsheet. Он работает как на windows(WinCE, XP и выше), так и на Linux.

Для начала скачайте его: https://sourceforge.net/projects/lazarus-ccr/files/FPSpreadsheet/

1.Распаковываем архив в папку с Lazarus\components(Например C:\lazarus\components)

2.Открываем Lazarus

3.Жмем: Пакет-> Открыть файл пакета (.lpk)

1

 

4.Открываем папку, куда распаковали компонент.

2

5.Выбираем файл laz_fpspreadsheet.lpk

6.Жмем Компилировать.

3

7. Далее снова выбираем в меню Пакет-> Открыть файл пакета (.lpk) и открываем уже laz_fpspreadsheet_visual.lpk

4

8. Жмем Установить. В первом окне нажимаем Да, подтверждая установку компонента. Во втором окне так же жмем Да, чтобы пересобрать Lazarus.

5

Все компонент установлен.

Ниже приведу маленький код, в котором мы записываем данные в таблицу.

uses ...  fpspreadsheet, fpsTypes, xlsbiff8, fpsutils;
procedure ExcelWrite; 
var
   MyWorkbook: TsWorkbook;
   MyWorksheet: TsWorksheet;
begin
   MyWorkbook := TsWorkbook.Create;
   MyWorkbook.ReadFromFile('Путь к файлу.xls', sfExcel8);      //Открываем таблицу
   MyWorksheet := MyWorkbook.GetFirstWorksheet;                //Выбираем рабочий лист, 
                                                               //в данном случае первый
   MyWorksheet.WriteUTF8Text(Строка,Колонка,'Данные');         //Записываем данные в ячейку

   MyWorkbook.WriteToFile('Путь к файлу.xls', sfExcel8, True); //Сохраняем Таблицу
   MyWorkbook.Free;
end;

Более подробно о возможностях данного компонента вы сможете прочитать на сайте http://wiki.lazarus.freepascal.org/FPSpreadsheet

 

Работа с Excel обновлено: 21 апреля, 2016 автором: Oleg E.
Share

12 комментариев “Работа с Excel

  1. Вместо этого программист попросту устанавливает стандартный компонент на форму и задает ему необходимые свойства.

  2. Не могли бы вы привести пример как загрузить файл Excel в таблицу, а потом из таблицы нужные данные записать в базу данных, например SQLite.

    • Читаем как загружать данные здесь, а как записать их в БД через SQLite читаем — http://devlaz.ru/lazarus_sqlite/
      Если у вас не получится, пишите ваши наброски помогу исправить.

  3. После открытия файла laz_fpspreadsheet_visual.lpk не активна функция «Установить», поэтому не могу установить компонент FPSpreadsheet. Что делать?

    • (1) ALWAYS: Basic package for reading/writing files
      Open laz_fpspreadsheet.lpk —> compile

      (2) If you need the visual controls (e.g. TsWorksheetGrid):
      Open laz_fpspreadsheet_visual.lpk —> compile
      Open laz_fpspreadsheet_visual_dsgn.lpk —> Use —> Install

      (3) If you need the dbexport component
      Open laz_fpspreadsheetexport_visual.lpk —> Use —> Install

      (4) If you need to unlock xls file protection
      Make sure that the package dcpcrypt.lpk can be found by the IDE
      Open laz_fpspreadsheet_crypt.lpk — > Compile

  4. А возможно с помощью данной библиотеки снять защиту листа, защищённого от редактирования паролем?

  5. Добрый день.
    Не компилируется последний пакет, выдает ошибку в функции.
    На какой версии fpc и какую версию пакета удалост поставить?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *