Имя: Пароль:
1C
1С v8
Чтение Excel 1C 8.3
0 dred999
 
05.02.16
16:40
Всем привет. Есть бухгалтерия 8 3.0 .
Нужно ексельку прочитать, но при чтении выдает ошибку.
Вот код по загрузке:
Процедура ЗаполнитьНаСервере()
    Объект.ТаблицаЗагрузки.Очистить();
    
    Excel = Новый COMОбъект("Excel.Application");
    КнигаExcel = Excel.Workbooks.Open(Объект.ФайлЗагрузки);
    ЛистExcel = КнигаExcel.WorkSheets(1);
    СтрокаЗагрузки = 2;


А вот и ошибка:

{Форма.Форма.Форма(16)}: Ошибка при вызове конструктора (COMОбъект)
    Excel = Новый COMОбъект("Excel.Application");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса


Вот как на 8.3 Управляемой форме это делается?
1 Amra
 
05.02.16
16:41
На сервере нет Экселя. Нету. Не установлен
2 mikecool
 
05.02.16
16:44
(0) читай через табдок и будет тебе щастье
3 dred999
 
05.02.16
16:45
(2) Через тАбДок
4 dred999
 
05.02.16
16:46
(2) Не могу найти пример в синтаксисе
5 mikecool
 
05.02.16
16:47
ТабличныйДокумент.Прочитать (SpreadsheetDocument.Read)
ТабличныйДокумент (SpreadsheetDocument)
Прочитать (Read)
Синтаксис:

Прочитать(<ИмяФайла>, <СпособЧтенияЗначений>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла табличного документа.
<СпособЧтенияЗначений> (необязательный)

Тип: СпособЧтенияЗначенийТабличногоДокумента.
Определяет, каким образом нужно интерпретировать значения, считываемые из исходного документа XLS, XLSX или ODS.
При загрузке табличного документа из формата Excel 97 - 2010 и OpenOffice Calc, в случае если в ячейке исходного документа содержалось значение типа Дата или Число, то в ячейку результирующего табличного документа это значение попадает в зависимости от значения этого параметра.
Значение по умолчанию: Текст.
Описание:

Считывает табличный документ из файла.
Позволяет считывать табличный документ из файла табличного документа Microsoft Excel 97 - 2010 ( *.xls и *.xlsx) или электронной таблицы OpenOffice Calc ( *.ods).

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\My Documents\Таблица1.mxl");


--------------------------------------------------------------------------------

     Методическая информация
6 dred999
 
05.02.16
16:49
(5) СПС
7 doctorzlo
 
05.02.16
16:51
таб.Прочитать(ИмяФ+".xls"); //таб - табличный документ на форме например
    
    КолвоСтрокФайла = таб.ВысотаТаблицы;

    Для ит=1 ПО таб.ВысотаТаблицы Цикл
      Область = таб.ПолучитьОбласть("R"+ит+"C3"); //третий столб.
      ТекущаяОбласть = Область.ТекущаяОбласть;
      ТексДанные = СокрЛП(ТекущаяОбласть.Текст);

......

Но грузятся все листы книги сразу - иногда это некошерно...
8 mikecool
 
05.02.16
16:51
СпособЧтенияЗначенийТабличногоДокумента - если Текст, то не будут считаны скрытые области
если значения - то считываются и скрытые области, но все равно не читаются формулы и т.п.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс