|
Прочитать эксель в табличный документ без сервера | ☑ | ||
---|---|---|---|---|
0
GriGo
09.08.19
✎
14:02
|
Нужно перенести данные из экселя в табличный документ на стороне клиента, не используя серверные методы. И не используя excell.application Это вообще возможно?
|
|||
1
Cyberhawk
09.08.19
✎
14:03
|
Конечно
|
|||
2
Cyberhawk
09.08.19
✎
14:04
|
Но откуда ограничение "без сервера"?
|
|||
3
Cyberhawk
09.08.19
✎
14:04
|
В 1С так не бывает все равно
|
|||
4
Cyberhawk
09.08.19
✎
14:04
|
В общем ЧтениеZipФайла тебе в помощь, а дальше уже дело техники
|
|||
5
Cyberhawk
09.08.19
✎
14:05
|
Если конечно же это xlsx-формат
|
|||
6
dka80
09.08.19
✎
14:06
|
Чем сервер-то вам не угодил? Или не знаете как передать с клиента на сервер файл?
|
|||
7
GriGo
09.08.19
✎
14:15
|
(6) с клиента на сервер прекрасно передаю, но некоторым пользователям выдается сообщение, что "пермишн денаед".
|
|||
8
GriGo
09.08.19
✎
14:18
|
(5) Формат, к сожалению, не всегда xlsx.
Но мне интересно, что дальше с этим "ЧтениеZipФайла" делать? |
|||
9
dka80
09.08.19
✎
14:20
|
(7) в какой момент?
|
|||
10
GriGo
09.08.19
✎
14:27
|
(9) в момент записи двоичных данных в файл на сервере.
решил проблему следующим способом - в качестве пути к файлу задал значение ПутьКФайлу = КаталогВременныхФайлов() + "temp.xlsx" Теперь при записи двоичных данных нет ошибки, но возникает ошибка при чтении данных в табличный документ: ТабДок.Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Текст); ошибка: "Ошибка при выполнении файловой операции" |
|||
11
НадюшаЯ
09.08.19
✎
14:28
|
ПолучитьИмяВременногоФайла
|
|||
12
Ботаник Гарден Меран
09.08.19
✎
14:31
|
С партнерских далей, как вариант:
"Реальный формат файла не соответствует расширению." |
|||
13
dka80
09.08.19
✎
14:32
|
&НаКлиенте
Процедура ПрочитатьФайл(Команда) Оп = Новый ОписаниеОповещения("НачатьПомещениеФайлаОкончание", ЭтотОбъект); АдресВременногоХранилища = ""; НачатьПомещениеФайла(Оп, АдресВременногоХранилища, ПутьКФайлу,Ложь, ЭтаФорма.УникальныйИдентификатор); КонецПроцедуры Процедура ПрочитатьФайлНаСервере(АдресВременногоХранилища, ИмяТД) ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Объект.РасширениеФайла); ДвоичныеДанные.Записать(ИмяВременногоФайла); ТД.Прочитать(ИмяВременногоФайла); КонецПроцедуры Только следи за расширением файла. Например, важно xls или xlsx |
|||
14
GROOVY
09.08.19
✎
14:37
|
Без экселя можно грузить используя построитель запроса.
|
|||
15
vcv
09.08.19
✎
14:41
|
Вроде свеженькие релизы 1С нормально читают эксель в штатный табличный документ. Правда только первый лист из многостраничного документа.
|
|||
16
GriGo
09.08.19
✎
14:41
|
(13) (11) ПолучитьИмяВременногоФайла("xls") - сработало, спасибо.
Убей не помню, как я раньше без "получитьИзВременногоФайла" делал. Но это уже из области спортивного интереса. Еще раз спасибо, хорошего дня. |
|||
17
GriGo
09.08.19
✎
14:42
|
(14) это как?
|
|||
18
НадюшаЯ
09.08.19
✎
14:42
|
(14) а это как?
|
|||
19
Ботаник Гарден Меран
09.08.19
✎
14:51
|
(15)
Все листы. |
|||
20
Смотрящий
09.08.19
✎
15:03
|
(0) adodb не?
|
|||
21
GriGo
09.08.19
✎
15:05
|
(20) пример приведешь?
|
|||
22
GriGo
09.08.19
✎
15:05
|
(20) пример сможешь привести?
|
|||
23
Смотрящий
09.08.19
✎
15:10
|
дай мыло. скину модуль вечером. для 10.3 писал
|
|||
24
dka80
09.08.19
✎
15:23
|
(15) +19 каждый лист в отдельную область
|
|||
25
GROOVY
09.08.19
✎
17:32
|
ТабДок=Новый ТабличныйДокумент;
ТабДок.Прочитать(ВыбранноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение); ПостроительЗапроса=Новый ПостроительЗапроса; ПостроительЗапроса.ИсточникДанных=Новый ОписаниеИсточникаДанных (ТабДок.Область("НазваниеЛиста")); ПостроительЗапроса.Выполнить(); //В файле первой строчкой должны идти названия колонок. Если этого не будет, то построитель не вернет ТЗ, т.к. не будут заданы имена колонок. РезТаб=ПостроительЗапроса.Результат.Выгрузить(); //Выбрать или еще что-нить Для Каждого СтрокаТЗ из РезТаб Цикл Товар = СтрокаТЗ.Товар; //Название колонки |
|||
26
НадюшаЯ
09.08.19
✎
17:57
|
(25) что то вроде этого да?
http://catalog.mista.ru/public/1050198/ |
|||
27
GROOVY
09.08.19
✎
20:45
|
(26) Не, больше это напоминает: https://expert.chistov.pro/public/1050198/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |