|
Нужен ли Excel на сервере где лежит база (база серверная) | ☑ | ||
---|---|---|---|---|
0
moonq4
01.10.15
✎
16:00
|
Такая ситуация:
Имеется серверная база, написал для нее обработку по загрузке номенклатуры из эекселя (упр. прил.). У меня на локальной работает, на серверной (рабочей) нет. Я грешу на то, что самого экселя нету на сервере и поэтому проблемы с "Новый COMОбъект("Excel.Application")", в чем может быть проблема? |
|||
1
Попытка1С
01.10.15
✎
16:00
|
В этом и есть проблема, что нет кома объекта екселя.
|
|||
2
ДенисЧ
01.10.15
✎
16:01
|
Грузить из xls можно и без екселя
|
|||
3
Попытка1С
01.10.15
✎
16:03
|
||||
4
moonq4
01.10.15
✎
16:07
|
(2) А xlsx?
|
|||
5
Fragster
гуру
01.10.15
✎
16:08
|
(4) тоже можно
|
|||
6
Fragster
гуру
01.10.15
✎
16:09
|
а загрузка должна быть неинтерактивной? или форма все-такие есть, и в ней работает пользователь?
|
|||
7
moonq4
01.10.15
✎
16:12
|
(6) Мне вообще для одно разовой загрузки, просто есть внешняя обработка с одной кнопкой и полем для файла, код такой:
&НаСервере Функция ЗагрузкаИзExel_В_ТЧ() //Открываем файл Excel.. Попытка Excel = Новый COMОбъект("Excel.Application"); WB = Excel.Workbooks.Open(ИмяФайла); WS = WB.ActiveSheet; arr = WS.UsedRange.Value; WB.Close(0); Исключение Сообщить("Внимание! Файл не открыт." + Символы.ПС + "Попробуйте открыть и пересохранить данный файл программой MS Excel."); Возврат Неопределено; КонецПопытки; МассивКолонок = arr.Выгрузить(); КоличествоКолонок = МассивКолонок.ВГраница(); КоличествоСтрок = МассивКолонок.Получить(0).Количество(); ТаблицаЗначений = Новый ТаблицаЗначений; Для Колонка = 0 По КоличествоКолонок Цикл ИмяКолонки = "Колонка" + (Колонка + 1); ТаблицаЗначений.Колонки.Добавить(ИмяКолонки); КонецЦикла; Для Строка = 1 По КоличествоСтрок Цикл ТаблицаЗначений.Добавить(); КонецЦикла; Сч = 0; Для каждого Колонка Из МассивКолонок Цикл ИмяКолонки = ТаблицаЗначений.Колонки.Получить(Сч).Имя; ТаблицаЗначений.ЗагрузитьКолонку(Колонка, ИмяКолонки); Сч = Сч + 1; КонецЦикла; Возврат ТаблицаЗначений; КонецФункции Может просто закинуть комобъект на клиент и все? |
|||
8
Fragster
гуру
01.10.15
✎
16:13
|
(7) норм вариант
|
|||
9
Fish
01.10.15
✎
16:13
|
(7) Делай на клиенте, раз одноразовая.
|
|||
10
moonq4
01.10.15
✎
16:15
|
Спасибо за ответы
|
|||
11
Живой Ископаемый
01.10.15
✎
16:17
|
Грузить нужно через АДО будет и быстрее и екселя не нужно. Вот если бы ты записывал, да еще и с формулами, вот тогда бы нужен был Ком екселя на сервере
|
|||
12
Fragster
гуру
01.10.15
✎
16:18
|
(11) воообще через ADO можно и писать в эксель. ну и да - сильно быстрее чем через comsafearray не будет. по крайней мере основнаячасть времени в любом случае будет не на вытягивании данных из экселя.
|
|||
13
mehfk
01.10.15
✎
16:26
|
(0) В 8.3.6 объект ТабличныйДокумент умеет загружать XLS
|
|||
14
Timon1405
01.10.15
✎
16:28
|
(13) киньте ссылкой подробнее
|
|||
15
mehfk
01.10.15
✎
16:45
|
ТабличныйДокумент.Прочитать (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"); -------------------------------------------------------------------------------- Методическая информация |
|||
16
UFO
01.10.15
✎
16:55
|
xlsx формат это один из клонов xml
|
|||
17
UFO
01.10.15
✎
16:56
|
Его можно открывать xml viewer который в фаре есть
|
|||
18
Живой Ископаемый
01.10.15
✎
16:58
|
2(12) Формулы к сожалению в ячейки через АДО не запишешь...
Ну или я был бы здорово рад ошибиться. |
|||
19
organizm
01.10.15
✎
17:00
|
Использовать ADO на сервере то же никак.
Вариант 1) Microsoft Data Access Components (MDAC) 2.8 SP1 http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5793 на 64х сервере не ставится 2) Microsoft Access Database Engine 2010 http://www.microsoft.com/en-us/download/details.aspx?id=13255 требует аксесса... Грузите на клиенте... |
|||
20
stix2010
01.10.15
✎
17:00
|
Для чтения:
8.3.6 - табличный документ читает этот ваш xls, остальное yoksel в пакете может сохранить xls в mxl. все остальное неправославно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |