|
8.2 Чтение из xls в табличный документ. Страницы
| ☑ |
0
1dvd
26.09.17
✎
14:36
|
Делаю чтение xls файла в табличный документ и напоролся на проблему
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла);
КоличествоСтрок = ТабДок.ВысотаТаблицы;
КоличествоКолонок = ТабДок.ШиринаТаблицы;
Если КоличествоКолонок = 0 Или КоличествоСтрок = 0 Тогда
Сообщить("Не удалось прочитатьФайл");
Возврат;
КонецЕсли;
ИменаКолонок = Новый Соответствие;
Для Идн = 1 по КоличествоКолонок Цикл
Значение = ТабДок.Область(1, Идн, 1, Идн).Текст;
ИменаКолонок.Вставить(Значение, Идн);
КонецЦикла;
Он считывает одновременно со всех листов. Как указать конкретный лист?
|
|
1
Cyberhawk
26.09.17
✎
14:37
|
В случае xls штатно никак. В случае с xlsx легко.
|
|
2
1dvd
26.09.17
✎
14:37
|
(1) ок. Как в случае xlsx?
|
|
3
Cyberhawk
26.09.17
✎
14:42
|
(2) Читать методом, за которым закрепилось название "Native XLSX". Распаковываешь xlsx-файл как зип-архив в папку, далее через ЧтениеХМЛ (или ПостроительДОМ) работаешь с хмл-файликом
"XL\WorkSheets\Sheet" + ФайлНомерЛиста + ".xml"
|
|
4
Cyberhawk
26.09.17
✎
14:42
|
|
|
5
1dvd
26.09.17
✎
14:42
|
пелять... это это легко
|
|
6
1dvd
26.09.17
✎
14:43
|
кривая одинеска
|
|
7
Cyberhawk
26.09.17
✎
14:44
|
(5) Просто в одних листах могут быть ссылки на ячейки с других листов.
Если такого нет, то можно методом из (3) удалить ненужные листы и запаковать файл обратно и потом уже читать через ТабДок :)
|
|
8
1dvd
26.09.17
✎
14:51
|
похрен. скажу чтобы подсовывали однолистный файл
|
|