ТабличныйДокумент.Прочитать - есть проблема!!! HELP

1. user817897 2 17.03.23 10:09 Сейчас в теме
Добрый день. Есть Эксель документы которые считываются криво, а точнее вообще не считываются) Читает как 200000 + строк и столько же пустых колонок.
А вот если пересохранить Эксель путём : Открыть файл через проводник, сохранить в этом же формате, он и больше весить станет, и читается потом нормально в 1С.

&НаКлиенте
Процедура МояКнопка(Команда)
ДД = Новый ДвоичныеДанные(ФайлExcel);
АдресВХ = ПоместитьВоВременноеХранилище(ДД);
ПрочитатьИзВХ(АдресВХ);
КонецПроцедуры

&НаСервере
Функция ПрочитатьИзВХ(АдресВХ)

	ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xls");	
	ДД = ПолучитьИзВременногоХранилища(АдресВХ);
	ДД.Записать(ИмяВременногоФайла);
	Попытка
		ТабДок.Прочитать(ИмяВременногоФайла);
	Исключение
	КонецПопытки;

КонецФункции
Показать


Вопрос, что с ним можно сделать?
90% файлов Эксель нормальных, а бывают попадаются вот такие кривые.
Руками пересохранить файл, не предлагать. Так как всё будет через регламентное работать.
Прикрепленные файлы:
Найденные решения
5. user817897 2 21.03.23 09:13 Сейчас в теме
Решение простое оказалось. Сохранил на сервере:
Excel = Новый COMОбъект("Excel.Application"); 
	Excel.DisplayAlerts = 0;
	Книга = Excel.WorkBooks.Open(ФайлExcel);
	Книга.SaveAs(ФайлExcel);
	Excel.Quit();
	Excel = Неопределено;


и потом создал папку "C:\Windows\System32\config\systemprofile\Desktop" - здесь, иначе не сохранит)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 17.03.23 10:59 Сейчас в теме
(1) Открывать через COM и сохранять перед обработкой.
user817897; +1 Ответить
3. user817897 2 17.03.23 11:02 Сейчас в теме
(2) а так чтобы всё не на клиенте, а только "НаСервере" ?
4. RustamZz 17.03.23 11:11 Сейчас в теме
(3) Ну если сервер на windows можно и на сервере делать. Главное разрядность сервера 1С и Excell должна совпадать.
user817897; +1 Ответить
5. user817897 2 21.03.23 09:13 Сейчас в теме
Решение простое оказалось. Сохранил на сервере:
Excel = Новый COMОбъект("Excel.Application"); 
	Excel.DisplayAlerts = 0;
	Книга = Excel.WorkBooks.Open(ФайлExcel);
	Книга.SaveAs(ФайлExcel);
	Excel.Quit();
	Excel = Неопределено;


и потом создал папку "C:\Windows\System32\config\systemprofile\Desktop" - здесь, иначе не сохранит)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот