![]() |
|
Вывод в Excel данных в заданном формате | ☑ | ||
---|---|---|---|---|
0
Garnet27
10.11.15
✎
12:29
|
Подскажите, пожалуйста, может быть, кто-то знает. Выгружаю большое количество данных в Excel. Для дальнейшей с ними работы необходимо, чтобы некоторые из ячеек были в текстовом формате. Но в этих ячейках стоят цифры. При открытии файла Excel на этих ячейках стоит зеленый треугольник и ошибка "Число в этой ячейке отформатировано как текст". Как избежать этой надписи? Отключить в настройках проверку, чтоб ее было просто не видно - не подходит. Можно ли убрать ее как-то по-другому? Выгрузиться без этой ошибки? Заранее большое спасибо.
|
|||
1
Garnet27
10.11.15
✎
12:31
|
Даже вручную уже копирую в столбец рядом следующую конструкцию: ""&[номерячейки] - все супер, ошибка уходит. Но формулы в файле не должны быть, делаю - копировать - вставить значение - снова та же ошибка! Замкнутый круг...(((
|
|||
2
Garnet27
10.11.15
✎
12:33
|
Таким образом:
Для Индекс = 2 По ВсегоСтрок Цикл ЯчейкаЛС = Book.WorkSheets(1).Rows.Item(Индекс).Columns(2); ТекущееЗначение = ЯчейкаЛС.Text; ЯчейкаЛС.NumberFormat = "@"; ... КонецЦикла |
|||
3
Мимохожий Однако
10.11.15
✎
12:43
|
='ТвоёЗначениеСтрокой.
поставь вперед апостроф |
|||
4
Garnet27
10.11.15
✎
12:48
|
(3) ну...будет мое число и апостроф впереди, без ошибки. А нужно именно число. Или я не там ставлю?
|
|||
5
cw014
10.11.15
✎
12:48
|
А как ты число туда заносишь?
|
|||
6
Garnet27
10.11.15
✎
12:50
|
(5) выгрузкой из 1С, обычной, через COM
|
|||
7
Альбатрос
10.11.15
✎
12:50
|
(4) Ексель.Range(Область).NumberFormat = "@";//ставим текст
Ексель.Range(Область).NumberFormat = "0";//число |
|||
8
cw014
10.11.15
✎
12:51
|
(6) Код покажи млин. Ты что, во что и каким образом пихаешь?
|
|||
9
Garnet27
10.11.15
✎
12:54
|
Ну вот...
Эксель = Новый COMОбъект("Excel.Application"); НайденныеФайлы = НайтиФайлы(Объект.КаталогВыгрузки, Файл.Ключ); Для каждого Стр Из НайденныеФайлы Цикл ИмяФайла = Стр.ПолноеИмя; Book = Эксель.Workbooks.Open(ИмяФайла); Лист = Book.WorkSheets(1); ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; Для Индекс = 2 По ВсегоСтрок Цикл ЯчейкаЛС = Book.WorkSheets(1).Rows.Item(Индекс).Columns(2); ТекущееЗначение = ЯчейкаЛС.Text; ЯчейкаЛС.NumberFormat = "@"; //дальше очень много ячеек с заменой формата КонецЦикла; Book.Save(); КонецЦикла; Эксель.WorkBooks.Close(); |
|||
10
Garnet27
10.11.15
✎
12:56
|
файл экселевский уже существует. Я его просто еще раз обрабатываю под требование заказчика. Ему нужны определенные форматы в определенных ячейках. Из 1С изначально выгружается как общий формат, через хранилище.
|
|||
11
dk
10.11.15
✎
13:19
|
вроде рабочий код в (9)
все равно вопрос при открытии задает? Формат исходных файлов какой? |
|||
12
Garnet27
10.11.15
✎
13:32
|
(11) вопрос не при открытии... просто ячейки некоторые с ошибкой отображаются. Все работает, но не так, как нужно. Формат .XLSX
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |