Пример процедуры чтения данных
Перед запуском процедуры убедитесь, что у Вас установлены программы open office или libre office.
Данная процедура обходит каждую строку первой колонки документа и выводит на экран содержимое ячейки.
&НаКлиенте Процедура ПрочитатьOpenOfficeCalc(Команда) ПрочитатьOpenOfficeCalcНаСервере(); // процедура ниже // завершим процесс open office по id КомандаСистемы("taskkill /pid 9652"); КонецПроцедуры &НаСервере Процедура ПрочитатьOpenOfficeCalcНаСервере() // запустим open office Попытка CalcПриложение = Новый ComОбъект("com.sun.star.ServiceManager"); Исключение Сообщить("Отсутствует приложение для загрузки файла"); КонецПопытки; scr = Новый ComОбъект("MSScriptControl.ScriptControl"); scr.language = "javascript"; scr.eval("MassivParametrov = new Array()"); ПараметрыПриложение = scr.eval("MassivParametrov"); scr.AddObject("OpenOffice", CalcПриложение); scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); scr.eval("MassivParametrov[0].Name='Hidden'"); scr.eval("MassivParametrov[0].Value=true"); // откроем документ Desktop = CalcПриложение.CreateInstance("com.sun.star.frame.Desktop"); Путь = ПеревестиПутьВФорматOpenOffice("G:test.ods"); // процедура ниже CalcФайл = Desktop.LoadComponentFromURL(Путь, "_blank", 0, ПараметрыПриложение); CalcФайл.addActionLock(); // получим первый лист по индексу СтраницыДокумента = CalcФайл.GetSheets();; Лист1 = СтраницыДокумента.GetByIndex(0); //Документ = Sheets.GetByName("Лист1"); // по наименованию // обойдем все строки по первой колонке Продолжаем = Истина; ТекущаяСтрока = 1; Пока Продолжаем Цикл // получим содержание ячейки по номеру колонки и строки ТекстЯчейки = Лист1.getCellByPosition(0, ТекущаяСтрока).getString(); // данный метод работает только на сервере Если Не ЗначениеЗаполнено(ТекстЯчейки) Тогда Прервать; Иначе Сообщить(ТекстЯчейки); КонецЕсли; ТекущаяСтрока = ТекущаяСтрока + 1; КонецЦикла; КонецПроцедуры Функция ПеревестиПутьВФорматOpenOffice(Путь) Путь = СтрЗаменить(Путь," ","%20" ); Путь = СтрЗаменить(Путь,"","/"); Возврат "file://localhost/" + Путь; КонецФункции
Оставить комментарий