компоненты сделал
Довольно гибкие штуковины получились.
writer
Count=Количество столбцов данных XLS документа|1|2
@FileName=Имя файла XLS|2|
@Password=Пароль для открытия файла XLS|2|
@Row=Индекс строки для чтения методами doSetDataXLS,doSetRowXLS|1|0
@Col=Индекс колонки для чтения методом doSetDataXLS|1|0
@SheetIndex=Индекс страницы при открытии файла|1|0
@IndexStr=Индекс формата Excel типа A1,A2... и т.д. Всегда в приоритете над Row и Col|2|A1
WholeLine=Записать MT поток в строку методом doSetRowXLS независимо от количества точек Count|14|0|False,True
WholeColumn=Записать в MT поток в столбец методом doSetColXLS независимо от количества точек Count|14|0|False,True
Delimiter=Разделитель для данных получаемых методом doWriteAllData|2|;
xReader=Поток открытый xReaderData. Если указан то имя файла,пароль,индекс страницы не требутся|20|(empty)|XlsFile
[Methods]
doOpenFile=Метод открывает XLS файл для записи|1|
doCloseFile=Метод закрывает XLS файл|1|
doSetDataXLS=Метод записывает данные в таблицу по адресу Row и Col. Данные передаются в потоке или с первой верхней точки|1|
*doSetRowXLS=Метод записывает строк Row. Данные передаются в МТ потоке или с верхних точек|1|
*doSetColXLS=Метод записывает колонку Col. Данные передаются в МТ потоке или с верхних точек|1|
onSheetNames=Событие происходит после открытия файла и выдаёт список страниц в поток|2|
RowCount=Содержит количество строк открытой страницы документа|3|1
ColCount=Содержит количество колонок открытой страницы документа|3|1
reader
FileName=Имя файла XLS|2|
Password=Пароль для открытия файла XLS|2|
Count=Количество столбцов данных XLS документа|1|2
WholeLine=Читать в MT поток всю строку методом doGetRowXLS независимо от количества точек Count|14|0|False,True
WholeColumn=Читать в MT поток весь столбец методом doGetColXLS независимо от количества точек Count|14|0|False,True
Delimiter=Разделитель для данных получаемых методом doReadAllData|2|;
Name=Имя файлового потока для xWriteData|2|
[Methods]
doOpenFile=Метод открывает XLS файл для чтения|1|
doCloseFile=Метод закрывает XLS файл|1|
doGetDataXLS=Метод запрашивает данные таблицы из ячейки Row и Col|1|
*doGetRowXLS=Метод запрашивает данные таблицы из строки Row|1|
*doGetColXLS=Метод запрашивает данные таблицы из колонки Col|1|
*doReadAllData=Выводит в цикле на onDataStr все строки таблицы со всеми столбцами|1|
*doClear=Метод очищает внутренний буфер данных|1|
FileName=Имя файла XLS|4|2
*Password=Пароль для открытия файла XLS|4|2
*SheetIndex=Индекс страницы при открытии файла|4|1
onData=Событие происходит после методов doGetDataXLS, doGetRowXLS и выдает MT поток данные таблицы|2|
*onDataStr=Событие происходит после вызова метода doReadAllData и выдаёт в поток строки таблицы, столбцы которых разделены делиметром|2|
onSheetNames=Событие происходит после открытия файла и выдаёт список страниц в поток|2|
*Row=Индекс строки для чтения методами doGetDataXLS,doGetRowXLS|4|1
*Col=Индекс колонки для чтения методом doGetDataXLS|4|1
IndexStr=Индекс формата Excel типа A1,A2... и т.д. Всегда в приоритете над Row и Col|4|2
в ячейках можно хранить достаточно объёмные данные. Это могут быть html,rtf,txt документы. Стримы делать не стал т.к лучше их хранить в ячейках в Base64,91. т.к таблица она и есть матрица то можно строить в ней различные деревья и т.п списки
Короче тут есть где разгуляться на предмет творчества
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
| ||
Голосовали: | tig-rrr |
Редактировалось 3 раз(а), последний 2022-05-27 19:27:11