Difference between revisions of "FPSpreadsheet/ru"

From Free Pascal wiki
Jump to navigationJump to search
Line 32: Line 32:
 
FPSpreadsheet следует этой же структуре - существует <tt>TCell</tt>, <tt>TsWorksheet</tt> и <tt>TsWorkbook </tt>.
 
FPSpreadsheet следует этой же структуре - существует <tt>TCell</tt>, <tt>TsWorksheet</tt> и <tt>TsWorkbook </tt>.
  
==== Workbook ====
+
==== [Рабочая] книга ====
The class <tt>TsWorkbook</tt> is the main class visible to the user. It provides methods for reading data from and writing to files. The versatile structure of the library provides access to various popular file formats, like Excel ''.xls'' or ''.xlsx'', or OpenOffice/LibreOffice ''.ods''.  
+
Класс <tt>TsWorkbook</tt> является основным классом, видимым для пользователя. Он предоставляет методы для чтения данных и записи в файлы. Универсальная структура библиотеки обеспечивает доступ к различным популярным форматам файлов, таким как Excel ''.xls'' или ''.xlsx'', или OpenOffice/LibreOffice ''.ods''.
  
The file format is specified by the type <tt>TsSpreadsheetFormat</tt> defined in the unit <tt>fpstypes</tt>
+
Формат файла определяется типом <tt>TsSpreadsheetFormat</tt>, определенным в модуле <tt>fpstypes</tt>
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 43: Line 43:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
where
+
где
* <tt>sfExcel2, sfExcel5, sfExcel8</tt> stands for versions of the binary xls format used by Excel ("BIFF" = "Binary Interchange File Format") with <tt>sfExcel8</tt> being the most modern one.
+
* <tt>sfExcel2, sfExcel5, sfExcel8</tt> означает версии бинарного формата xls, используемые Excel («BIFF» = «Формат файла двоичного обмена»), причем <tt>sfExcel8 </tt> является самым современным.
* <tt>sfOOXML</tt> corresponds to the newer xlsx format introduced by Excel2007
+
* <tt>sfOOXML</tt> соответствует новому формату xlsx, представленному Excel2007
* <tt>sfExcelXML</tt> is the xml format which was introduced by Microsoft for Office XP and 2003. Not very popular.
+
* <tt>sfExcelXML</tt> - это xml-формат, который был представлен Microsoft для Office XP и 2003. Не очень популярен.
* <tt>sfOpenDocument</tt> is the spreadsheet format used by OpenOffice/LibreOffice; by default, the files have the extension ''.ods''.
+
* <tt>sfOpenDocument</tt> - формат электронных таблиц, используемый OpenOffice/LibreOffice; по умолчанию файлы имеют расширение ''.ods''.
* <tt>sfCSV</tt> refers to comma-delimited text files (default extension ''.csv''); they can be understood by any text editor and all spreadsheet programs, but do not contain formatting information.
+
* <tt>sfCSV</ tt> относится к текстовым файлам с разделителями-запятыми (расширение по умолчанию ''.csv''); они могут быть поняты любым текстовым редактором и всеми программами электронных таблиц, но не содержат информации о форматировании.
* <tt>sfHTML</tt> denotes the standard HTML format as used in web browsers.
+
* <tt>sfHTML</tt> обозначает стандартный формат HTML, используемый в веб-браузерах.
* <tt>sfWikiTable_Pipes</tt> and <tt>sfWikiTable_WikiMedia</tt> is the format used by tables in wiki websites.
+
* <tt>sfWikiTable_Pipes</tt> и <tt>sfWikiTable_WikiMedia</tt> - это формат, используемый таблицами в вики-сайтах.
* <tt>sfUser</tt> is needed to register a user-defined format. There are no plans to implement "ancient" file formats like Excel3.0/4.0 or Lotus. It is possible, however, to provide your own reading and writing classes to extend the functionality of FPSpreadsheet - see the section below on [[#Adding_new_file_formats|Adding new file formats]]  
+
* <tt>sfUser</tt> необходим для регистрации пользовательского формата. Планируется внедрение «древних» форматов файлов, таких как Excel3.0/4.0 или Lotus. Тем не менее, вы можете предоставить свои собственные классы чтения и письма для расширения функциональности FPSpreadsheet - см. ниже раздел [[#Adding_new_file_formats|Добавление новых форматов файлов]]
  
When applying fpspreadsheet the first task is to create an instance of the workbook:
+
При применении fpspreadsheet первая задача - создать экземпляр рабочей книги:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
var
 
var
Line 62: Line 62:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Reading of spreadsheet files is accomplished (among others) by the workbook methods
 
  
* <tt>procedure ReadFromFile(AFileName: string):</tt><br />Reads the file with the given name and automatically determines the correct file format.
+
Чтение файлов электронных таблиц выполняется (среди прочего) методами рабочей книги
* <tt>procedure ReadFromFile(AFileName: string; AFormat: TsSpreadsheetFormat):</tt><br>Reads the file, but assumes that the file format is as specified by <tt>AFormat</tt>.
 
  
The following workbook methods can be used for saving to file:
+
* <tt>procedure ReadFromFile (AFileName: string):</tt> <br/> Читает файл с заданным именем и автоматически определяет правильный формат файла.
 +
* <tt>procedure ReadFromFile (AFileName: string; AFormat: TsSpreadsheetFormat):</tt> <br> Читает файл, но предполагает, что формат файла соответствует <tt>AFormat </tt>.
  
* <tt>procedure WriteToFile(const AFileName: string; const AFormat: TsSpreadsheetFormat; const AOverwriteExisting: Boolean = False)</tt>:<br /> Writes the workbook to the given file using the given spreadsheet format. If the file already exists it is automatically overwritten if <tt>AOverwriteExisting</tt> is <tt>true</tt>:
+
Для сохранения файла можно использовать следующие методы работы с книгой:
*<tt>procedure WriteToFile(const AFileName: String; const AOverwriteExisting: Boolean = False)</tt>:<br />dto., but the file format is determined from the file extension provided (in case of Excel's xls the most recent version, <tt>sfExcel8</tt>, is used).
 
  
After calling these methods it is advantageous to look at the workbook's property <tt>ErrorMsg</tt> in which messages due to errors or warnings are collected that might have occured during reading/writing. This property returns a multi-lined string which is displayed best in a memo component; if everything was fine it is an empty string.
+
* <tt>procedure WriteToFile (const AFileName: string; const AFormat: TsSpreadsheetFormat; const AOverwriteExisting: Boolean = False)</tt>: <br/> Записывает книгу в данный файл с использованием заданного формата электронной таблицы. Если файл уже существует, он автоматически перезаписывается, если <tt>AOverwriteExisting</tt> - <tt>true </tt>:
 +
* <tt>procedure WriteToFile (const AFileName: String; const AOverwriteExisting: Boolean = False)</tt>: <br/> dto., но формат файла определяется из предоставленного расширения файла (в случае Excel больше xls используется последняя версия, <tt>sfExcel8</tt>).
  
<b>Note:</b> FPSpreadsheets provides specialized units for reading from and writing to each file format. These units are not available automatically, you have to add them to the uses clause explicitly. FPSpreadsheet will complain about "unsupported file format" if the requested reader/writer is not found. Here is a list of the unit names:
+
После вызова этих методов полезно посмотреть на свойство рабочей книги <tt>ErrorMsg</tt>, в котором собраны сообщения из-за ошибок или предупреждений, которые могли возникнуть во время чтения/записи. Это свойство возвращает многострочную строку, которая лучше всего отображается в компоненте memo; если все в порядке, это пустая строка.
* ''xlsbiff2'', ''xlsbiff5'' and ''xlsbiff8'' for the binary xls file formats <tt>sfExcel2</tt>, <tt>sfExcel5</tt> and <tt>sfExcel8</tt>, respectively,
+
 
* ''xlsOOXML'' for the xlsx file format <tt>sfOOXML</tt> of Excel 2007 and later,
+
<b>Примечание.</b> FPSpreadsheets предоставляет специализированные блоки для чтения и записи в каждый формат файла. Эти блоки недоступны автоматически, вы должны явно добавить их в предложение uses. FPSpreadsheet будет жаловаться на «неподдерживаемый формат файла», если запрошенный читатель/писатель не найден. Ниже приведен список названий устройств:
* ''xlsXML'' for the xml format of Excel XP and 2003,
+
 
* ''fpsopendocument'' for the file format <tt>sfOpenDocument</tt> of OpenOffice/LibreOffice,
+
* ''xlsbiff2'', ''xlsbiff5'' и ''xlsbiff8'' для двоичных форматов файлов xls <tt>sfExcel2</tt>, <tt>sfExcel5</tt> и <tt>sfExcel8</tt> , соответственно,
* ''fpsCSV'' for text files with comma-separated values (csv),
+
* ''xlsOOXML'' для формата xlsx <tt>sfOOXML</tt> для Excel 2007 и более поздних версий,
* ''fpsHTML'' for HTML files,
+
* ''xlsXML'' для XML-формата Excel XP и 2003,
* ''wikitables'' for <tt>sfWikiTable_Pipes</tt> and <tt>sfWikiTable_WikiMedia</tt>,
+
* ''fpsopendocument'' для формата файла <tt>sfOpenDocument</tt> OpenOffice/LibreOffice,
* or, simply add ''fpsallformats'' to get read/write support for all file formats supported.
+
* ''fpsCSV'' для текстовых файлов с разделенными запятыми значениями (csv),
 +
* ''fpsHTML'' для файлов HTML,
 +
* ''wikitables'' для <tt>sfWikiTable_Pipes</tt> и <tt>sfWikiTable_WikiMedia</tt>,
 +
* или просто добавьте ''fpsallformats'', чтобы получить поддержку чтения/записи для всех поддерживаемых форматов файлов.
  
 
=== Формулы ===
 
=== Формулы ===

Revision as of 00:47, 10 September 2018

Deutsch (de) English (en) español (es) français (fr) polski (pl) русский (ru)

THIS PAGE IS OUTDATED. PLEASE USE THE ENGLISH PAGE.

FpSpreadsheet библиотека предоставляет удобный способ создания и чтения табличных документов в различных форматах. Библиотека написана на очень гибкой основе, и поэтому её можно легко расширять поддержкой любого количества форматов.

Скриншот демонстрационной программы spready, предоставляемой с fpspreadsheet, показывающим файл XLS:


fpsgrid.png


Документация

Эта страница вики включает последнюю версию FPSpreadsheet, доступную через subversion. Пожалуйста, см. раздел Стабильные версии для [получения] документации по стабильной версии, которую вы можете скачать.

Документация по API

Ссылка на API

Файл справки в формате CHM можно найти в папке установки FPSpreadsheet docs . Если вы еще не установили пакет, тогда следуйте сюда хттпс://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/fpspreadsheet/docs/fpspreadsheet-api.chm для получения fpspreadsheet-api.chm.


Второй файл CHM, доступный в папке docs , fpspreadsheet-wiki.chm , представляет собой снимок связанных с FPSpreadsheet страниц вики, объединенных в один файл справки.

Основы

Наименьшими объектами в электронной таблице являются «ячейки», содержащие данные. Ячейки могут содержать различные типы данных, такие как строки, числа, даты, время, логические значения или формулы. Кроме того, ячейки могут содержать информацию о форматировании, то есть стиль шрифта, цвет фона, выравнивание текста и т.д.

Ячейки расположены в сетке, называемой «рабочей таблицей», или «электронной таблицей», состоящей из «строк» и «столбцов». Каждая ячейка имеет уникальный адрес, заданный индексом строки и столбца.

Рабочие листы связаны вместе, формируя «книгу», которая представляет собой документ электронной таблицы приложения. В книге также хранится информация, необходимая для всех листов, то есть список шрифтов, списки сотовых и числовых форматов и т.д.

FPSpreadsheet следует этой же структуре - существует TCell, TsWorksheet и TsWorkbook .

[Рабочая] книга

Класс TsWorkbook является основным классом, видимым для пользователя. Он предоставляет методы для чтения данных и записи в файлы. Универсальная структура библиотеки обеспечивает доступ к различным популярным форматам файлов, таким как Excel .xls или .xlsx, или OpenOffice/LibreOffice .ods.

Формат файла определяется типом TsSpreadsheetFormat, определенным в модуле fpstypes

type
  TsSpreadsheetFormat = (sfExcel2, sfExcel5, sfExcel8, sfExcelXML, sfOOXML, 
    sfOpenDocument, sfCSV, sfHTML, sfWikiTable_Pipes, sfWikiTable_WikiMedia, sfUser);

где

  • sfExcel2, sfExcel5, sfExcel8 означает версии бинарного формата xls, используемые Excel («BIFF» = «Формат файла двоичного обмена»), причем sfExcel8 является самым современным.
  • sfOOXML соответствует новому формату xlsx, представленному Excel2007
  • sfExcelXML - это xml-формат, который был представлен Microsoft для Office XP и 2003. Не очень популярен.
  • sfOpenDocument - формат электронных таблиц, используемый OpenOffice/LibreOffice; по умолчанию файлы имеют расширение .ods.
  • sfCSV</ tt> относится к текстовым файлам с разделителями-запятыми (расширение по умолчанию .csv); они могут быть поняты любым текстовым редактором и всеми программами электронных таблиц, но не содержат информации о форматировании.
  • sfHTML обозначает стандартный формат HTML, используемый в веб-браузерах.
  • sfWikiTable_Pipes и sfWikiTable_WikiMedia - это формат, используемый таблицами в вики-сайтах.
  • sfUser необходим для регистрации пользовательского формата. Планируется внедрение «древних» форматов файлов, таких как Excel3.0/4.0 или Lotus. Тем не менее, вы можете предоставить свои собственные классы чтения и письма для расширения функциональности FPSpreadsheet - см. ниже раздел Добавление новых форматов файлов

При применении fpspreadsheet первая задача - создать экземпляр рабочей книги:

var
  MyWorkbook: TsWorkbook;
begin
  MyWorkbook := TsWorkbook.Create;
  ...


Чтение файлов электронных таблиц выполняется (среди прочего) методами рабочей книги

  • procedure ReadFromFile (AFileName: string):
    Читает файл с заданным именем и автоматически определяет правильный формат файла.
  • procedure ReadFromFile (AFileName: string; AFormat: TsSpreadsheetFormat):
    Читает файл, но предполагает, что формат файла соответствует AFormat .

Для сохранения файла можно использовать следующие методы работы с книгой:

  • procedure WriteToFile (const AFileName: string; const AFormat: TsSpreadsheetFormat; const AOverwriteExisting: Boolean = False):
    Записывает книгу в данный файл с использованием заданного формата электронной таблицы. Если файл уже существует, он автоматически перезаписывается, если AOverwriteExisting - true :
  • procedure WriteToFile (const AFileName: String; const AOverwriteExisting: Boolean = False):
    dto., но формат файла определяется из предоставленного расширения файла (в случае Excel больше xls используется последняя версия, sfExcel8).

После вызова этих методов полезно посмотреть на свойство рабочей книги ErrorMsg, в котором собраны сообщения из-за ошибок или предупреждений, которые могли возникнуть во время чтения/записи. Это свойство возвращает многострочную строку, которая лучше всего отображается в компоненте memo; если все в порядке, это пустая строка.

Примечание. FPSpreadsheets предоставляет специализированные блоки для чтения и записи в каждый формат файла. Эти блоки недоступны автоматически, вы должны явно добавить их в предложение uses. FPSpreadsheet будет жаловаться на «неподдерживаемый формат файла», если запрошенный читатель/писатель не найден. Ниже приведен список названий устройств:

  • xlsbiff2, xlsbiff5 и xlsbiff8 для двоичных форматов файлов xls sfExcel2, sfExcel5 и sfExcel8 , соответственно,
  • xlsOOXML для формата xlsx sfOOXML для Excel 2007 и более поздних версий,
  • xlsXML для XML-формата Excel XP и 2003,
  • fpsopendocument для формата файла sfOpenDocument OpenOffice/LibreOffice,
  • fpsCSV для текстовых файлов с разделенными запятыми значениями (csv),
  • fpsHTML для файлов HTML,
  • wikitables для sfWikiTable_Pipes и sfWikiTable_WikiMedia,
  • или просто добавьте fpsallformats, чтобы получить поддержку чтения/записи для всех поддерживаемых форматов файлов.

Формулы

В FPSpreadsheet поддерживаются два вида формул: строковый и RPN. Строковый вид записываются также как и в офисных приложениях, например, "ROUND (A1 + B1)", а RPN формулы записываются в обратной польской нотации (Reverse Polish Notation (RPN)), например: A1, B1, Add, 0, ROUND

RPN формулы

Пример использования встроенной процедуры

  // Write the formula E1 = ABS(A1)
  SetLength(MyRPNFormula, 2);
  MyRPNFormula[0].ElementKind := fekCell;
  MyRPNFormula[0].Col := 0;
  MyRPNFormula[0].Row := 0;
  MyRPNFormula[1].ElementKind := fekABS;
  MyWorksheet.WriteRPNFormula(0, 4, MyRPNFormula);

  // Write the formula F1 = ROUND(A1, 0)
  SetLength(MyRPNFormula, 3);
  MyRPNFormula[0].ElementKind := fekCell;
  MyRPNFormula[0].Col := 0;
  MyRPNFormula[0].Row := 0;
  MyRPNFormula[1].ElementKind := fekNum;
  MyRPNFormula[1].DoubleValue := 0.0;
  MyRPNFormula[2].ElementKind := fekROUND;
  MyWorksheet.WriteRPNFormula(0, 5, MyRPNFormula);

Встроенные процедуры

ABS - Возвращает абсолютное значение заданного числа. Принимает 1 аргумент. Пример: ABS (-1) = 1

ROUND - Округляет число до заданного числа десятичных знаков. Принимает 2 аргумента, сначало округляемое число, а затем количество десятичных знаков. Второй аргумент по умолчанию равен нулю и может быть отрицательным.

Примеры

Чтобы создать проект, который использует библиотеку fpspreadsheet, необходимо добавить пакет fpspreadsheet_pkg в ваш Lazarus проект или добавить корневой каталог fpspreadsheet в опциях вашего компилятора, если используется другая IDE.

Пример Excel 5

{
excel5demo.dpr

Demonstrates how to write an Excel 5.x file using the fpspreadsheet library

You can change the output format by changing the OUTPUT_FORMAT constant

AUTHORS: Felipe Monteiro de Carvalho
}
program excel5demo;

{$mode delphi}{$H+}

uses
  Classes, SysUtils, fpspreadsheet, fpsallformats, fpspreadsheet_pkg;

const OUTPUT_FORMAT = sfExcel5;

var
  MyWorkbook: TsWorkbook;
  MyWorksheet: TsWorksheet;
  MyFormula: TsRPNFormula;
  MyDir: string;
begin
  // Initialization
  MyDir := ExtractFilePath(ParamStr(0));

  // Create the spreadsheet
  MyWorkbook := TsWorkbook.Create;
  MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet');

  // Write some number cells
  MyWorksheet.WriteNumber(0, 0, 1.0);
  MyWorksheet.WriteNumber(0, 1, 2.0);
  MyWorksheet.WriteNumber(0, 2, 3.0);
  MyWorksheet.WriteNumber(0, 3, 4.0);

  // Write the formula E1 = A1 + B1
  // or, in RPN: A1, B1, +
  SetLength(MyFormula, 3);
  MyFormula[0].ElementKind:=fekCell; {A1}
  MyFormula[0].Col := 0;
  MyFormula[0].Row := 0;
  MyFormula[1].ElementKind:=fekCell; {B1}
  MyFormula[1].Col := 1;
  MyFormula[1].Row := 0;
  MyFormula[2].ElementKind:=fekAdd;;  {+}
  MyWorksheet.WriteRPNFormula(0, 4, MyFormula);

  // Creates a new worksheet
  MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2');

  // Write some string cells
  MyWorksheet.WriteUTF8Text(0, 0, 'First');
  MyWorksheet.WriteUTF8Text(0, 1, 'Second');
  MyWorksheet.WriteUTF8Text(0, 2, 'Third');
  MyWorksheet.WriteUTF8Text(0, 3, 'Fourth');

  // Save the spreadsheet to a file
  MyWorkbook.WriteToFile(MyDir + 'test' + STR_EXCEL_EXTENSION, OUTPUT_FORMAT);
  MyWorkbook.Free;
end.


Перебор всех Листов (Worksheets)

var
  MyWorkbook: TsWorkbook;
  MyWorksheet: TsWorksheet;
  i: Integer;
begin
  // Here load MyWorkbook from a file or build it
 
  for i := 0 to MyWorkbook.GetWorksheetCount() - 1 do
  begin
    MyWorksheet := MyWorkbook.GetWorksheetByIndex(i);
    // Do something with MyWorksheet
  end;

Преобразование базы данных в электронную таблицу

Обратите внимание, что это только мета-код, не тестировал.

program db5xls;
 
{$mode delphi}{$H+}
 
uses
  Classes, SysUtils, 
  // add database units
  fpspreadsheet, fpsallformats, fpspreadsheet_pkg;
 
const OUTPUT_FORMAT = sfExcel5;
 
var
  MyWorkbook: TsWorkbook;
  MyWorksheet: TsWorksheet;
  MyDatabase: TSdfDataset;
  MyDir: string;
  i, j: Integer;
begin
  // Initialization
  MyDir := ExtractFilePath(ParamStr(0));
 
  // Open the database
  MyDatabase := TSdfDataset.Create;
  MyDatabase.Filename := 'test.dat';
  // Add table description here
  MyDatabase.Active := True;

  // Create the spreadsheet
  MyWorkbook := TsWorkbook.Create;
  MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet');
 
  // Write the field names
  for i := 0 to MyDatabase.Fields.Count - 1 do
    MyWorksheet.WriteUTF8Text(0, i, MyDatabase.Field[i].FieldName);

  // Write all cells to the worksheet
  MyDatabase.First;
  j := 0;
  while not MyDatabase.EOF do
  begin
    for i := 0 to MyDatabase.Fields.Count - 1 do
      MyWorksheet.WriteUTF8Text(j + 1, i, MyDatabase.Field[i].AsString);

    MyDatabase.Next;
    Inc(j);
  end;

  // Close the database
  MyDatabase.Active := False;
  MyDatabase.Free;

  // Save the spreadsheet to a file
  MyWorkbook.WriteToFile(MyDir + 'test' + STR_EXCEL_EXTENSION, OUTPUT_FORMAT);
  MyWorkbook.Free;
end.

Скачать

Subversion

FPSpreadsheet Вы можете скачать с SourceForge, также можно воспользоваться программным обеспечение subversion, или следующей командой:

svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/fpspreadsheet fpspreadsheet

Текущий состояние

Текущее состояние поддерживаемых форматов:

Формат Поддержка нескольких листов Поддержка Unicode Чтение Запись Текст Число Строковая формула RPN формула
Excel 2.x Нет Нет** Работает Работает Работает Работает Не реализовано Работает
Excel 3.0 Нет Нет** Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано
Excel 4.0 Нет Нет** Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано
Excel 5.0 (Excel 5.0 and 95) Да Нет** Работает* Работает Работает Работает Не реализовано Работает
Excel 8.0 (Excel 97, 2000, XP and 2003) Да Да Работает* Работает Работает Работает Не реализовано Не реализовано
Microsoft OOXML Да Да Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано Не реализовано
OpenDocument Да Да Работает Работает Работает Работает Не реализовано Не реализовано

(*) Некоторые ячейки могут быть возвращены пустыми из-за отсутствия реализации некоторых числовых и строковых форматов. (**) В форматах, не поддерживающих Unicode, данные сохраняются в виде ISO 8859-1. Обратите внимание, что при чтении/записи FPSpreadsheet предлагает использовать UTF-8, но эти данные будут преобразованы в ISO при чтении или записи на диск. Будьте осторожны - символы, которые не укладываются в ISO Latin 1, будут потеряны в этих операциях.

Журнал изменений

Январь 2009

  • Реализована это кросс-платформенная поддержка для OLE файлов. Теперь файлы Excel 5.0 могут быть созданы в любой операционной системе.
  • Добавлена поддержка чтения файлов Excel 2.1

Февраль 2008

  • Initial commit to lazarus-ccr with write support for Excel 2.1, Excel 5.0 (Windows only) and experimental OOXML and OpenDocument

Лицензия

LGPL with static linking exception. This is the same license as is used in the Lazarus Component Library.

См. также

Поддержка и багрепорты

Рекомендованное место для обсуждения FPSpreadsheet и получения ответов на ваши вопросы это ветка форума Lazarus Forum.

Багрепорты должны быть отправленны в Lazarus/Free Pascal Bug Tracker; пожалуйста уточните что это "Lazarus-CCR" проект.

Внешние ссылки

--4yma 01:53, 13 April 2010 (CEST)