1с эксель обрезает 254 символа
Всем привет!
Проблема в следующем: при копировании данных из отчетов 1С 8.3, которая запущена в терминале на Windows Server 2016 и вставки этих данных в Excel на локальной машине числа вставляются как текст и соответственно формулы не работают. (копирование идет через буфер обмена естественно).
На других серверах (Windows 2008 и 2012) такой проблемы нет. (база та же, версия 1С тоже)
Кто может подсказать решение?
Т.к. тема является архивной.
это проблема мелкософтоского офиса. если выкопируете одну ячейку - вставляйте как текст без форматирования.если вы лист копируете - дык через меню в 1С - сохранить копию - сохраните весь отчет и откройте в Екселе и там уже измывайтесь над ним :)
Т.к. тема является архивной.
Да я то могу сделать как угодно. Но вот бухгалтера привыкли именно так.И что странно, почему на серверах с предыдущими версиями Windows все работает как надо?
Т.к. тема является архивной.
версия Офиса то обновилась? ;-) умный он шибко стал. почитайте книжки по екселю там эта проблема с форматрованием ячеек и переносом данных рассмотрена.Сам уже не подскажу, не помню, ибо пользуем офис из опенсурса :)
Т.к. тема является архивной.
Т.к. тема является архивной.
И галочки в настройках офиса сравнивали между собой?Скорее всего это проблема офиса, а не ОС.
Т.к. тема является архивной.
Я галочки не сравнивал, но не пойму почему проблема офиса, если:
1. Я захожу со своего компьютера на сервер терминалов Windows 2016
2. Запускаю там 1С, вывожу отчет
3. Копирую какие-либо ячейки из этого отчета в буфер обмена
4. Сворачиваю терминал и на своем компьютере открываю Excel
5. Вставляю скопированные данные из буфера обмена на лист Excel
результат: числа как текст.
Далее:
1. Я захожу со своего компьютера на сервер терминалов Windows 2012
2. Запускаю там 1С, вывожу отчет (та же версия 1С, та же база, тот же отчет)
3. Копирую какие-либо ячейки из этого отчета в буфер обмена
4. Сворачиваю терминал и на своем же компьютере открываю Excel
5. Вставляю скопированные данные из буфера обмена на лист Excel
результат: числа как числа.
Столкнулся с проблемой: из файла экселя 2007 надо импортировать данные в фокс 9.0. Информация в одном поле экскля более 254 символов. Если преобразовать э2007 в эксель 5.0 и штатными средствами фокса перегнать в *.dbf, то происходит обрезение длины поля еще в экселе. Если решение данного вопроса средствами фокса?
------------------
Есть многое на свете, друг Горацио.
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Мемо-поля (больше 254 символов) не импортируются. Ни в Excel, ни из Excel. Любой версии. Поэтому прямой конвертацией (групповыми командами) в DBF подобного не сделать. Нужно "поячеечное" чтение данных. Либо подключаться к Excel как к хранилищу данных и считывать из ADO RecordSet, либо читать по ячейке "за раз".
Ну зачем же при автоматизации экселя "по ячейке за раз" - можно сразу весь нужный диапазон считать в массив - это существенно быстрее, а ограничение на длину строки там достаточно большое - и помоему оно точно так же будет действовать при "одноячеечном" считывании как и при "массивном" заборе.
Если это как раз такой печальный случай ("Война и мир" целиком в одной ячейке), то наверное единственное что остаётся, это при автоматизации Excel сделать копирование в буфер обмена и в фоксе считать данные из _CLIPTEXT - хотя и там возможно есть какой-то лимит.
А вот про IMPORT FROM . TYPE XL* равно как и про COPY TO/EXPORT . TYPE XL* лучше действительно забыть.
Спасибо всем ответившим. Вопрос автоматизации в полном объеме не стоит. Сверху приходит раз в год файл в экселе2007 и одно поле по объему больше чем 254 символа. Приходит мысль разделить это поле еще в экселе на 2 поля 1-200 в одном поле, а остальное во втором И уже в фоксе оба поля объединить и закинуть его в мемо поле.
По поводу предложения Игоря Королева - может кто видел пример использования буфера обмена при импорте из экселя в фокс - сбросте ссылку. Заранее благодарен. Сергей.
Поиск по форуму со словом Excel даст МАССУ полезных знаний, и позволит не страдать всякой фигнёй.
И почему никто не пользуется поиском
Еще раз спасибо! Я сейчас как раз поиском - накопал материала - завтра буду пробовать.
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Симптомы
После ввода длинного номера (например, номера кредитной карты) в ячейке Excel номер отображается неправильно в Excel. Например,
Числовой формат по умолчанию в Excel является общим, поэтому вы можете отображать до 11 цифр в ячейке.
Обходной путь
Для решения проблемы используйте один из указанных ниже способов.
Способ 1. Форматирование ячейки как текста
Для этого выполните следующие действия:
Щелкните правой кнопкой мыши поле со списком и выберите пункт Формат ячеек.
На вкладке Число выберите Текст, а затем нажмите ОК.
Затем введите длинное число. (Не забудьте установить формат ячейки, прежде чем ввести число)
Если вы не хотите видеть предупреждающие стрелки, нажмите на маленькую стрелку, а затем Пропустить ошибку.
Способ 2. Использование одинарной кавычки
При вводе длинного числа сначала введите одинарную кавычку (') в ячейке, а затем длинное число.
Например, введите '1234567890123456789, и одинарная кавычка не будет отображаться после нажатия ENTER.
Связанные статьи
Ваше мнение важно для нас! Не стесняйтесь сообщать, что вы думаете об этой статье, используя поле комментария, расположенное внизу документа. Это позволит нам улучшить содержимое. Заранее спасибо!
Текст не влезает в ячейку Excel? Во вкладке «Главная» кликните «Перенос по словам» и «Обтекание текста». После этого выделенный материал будет переноситься с учетом ширины столбца. В случае изменения ширины последнего перенос осуществляется в автоматическом режиме. Как вариант, уменьшите размер шрифта по размеру секции, измените положение содержимого и т. д.
Причины, почему материал не влезает
Причин, почему в Экселе текст не помещается в ячейку, может быть несколько. Чаще всего это неправильное форматирование, отсутствие нужной настройки переноса, небольшая ширина столбца или крупный шрифт. Все эти проблемы можно решить, если использовать приведенные ниже рекомендации.
Что делать, когда текст не влезает в Excel
Теперь разберемся, как действовать, если текст не помещается в ячейке Excel. Рассмотрим разные пути решения вопроса, а окончательное решение по выбору и реализации одного из них остается за вами.
Перенос
Наиболее простой путь, когда в Эксель не влезает материал — воспользоваться опцией переноса информации. Для этого существует множество методов. Сначала рассмотрим официальный, а потом — альтернативные решения.
Способ №1 (новая версия Excel):
- Выделите нужные ячейки, куда не влезает информация.
- Перейдите в раздел «Главная» и выберите «Перенос по словам».
- Кликните на «Обтекание текста».
После этого материал, находящийся в графе, переносится с учетом ширины столбца, а при ее изменении подстройка происходит автоматически.
Способ №2 (для более старых версий):
- Жмите правой кнопкой мышки (ПКМ) на ячейку Excel с текстом.
- В перечне жмите на «Формат …»
- Выберите вкладку «Выравнивание».
- Установите «Переносить по словам».
- Поставьте курсив перед словом, которое не влезает и нужно перенести на другую строчку.
- Жмите на Alt и, не отпуская кнопку, кликните на «Enter».
- Выделите нужную секцию и поставьте на нее курсор.
- Напишите формулу: =A1&A2&СИМВОЛ(10)&B1&B2&СИМВОЛ(10)&C1&C2&СИМВОЛ(10)&D1&D2.
- Сцепите две ячейки в столбце с помощью А1:А2. Жмите «Ввод».
Если после изменений текст все равно не влезает в ячейку, поставьте отметку в поле «Перенос …» по методу, который рассмотрен выше. В результате информация равномерно распределится.
- Жмите по пустой ячейке Excel.
- Введите =СЦЕПИТЬ(В1;СИМВОЛ(10);С1;СИМВОЛ(10);D1;СИМВОЛ(10);E1), но вместо указанных столбцов укажите свои.
- Войдите в раздел форматирования по рассмотренной выше схеме и оформите перенос.
Теперь проверьте, влезает текст в ячейку Excel, или с этим снова возникают сложности. В соседней секции можно использовать такую же формулу.
- Выберите пустую ячейку.
- Вставьте в нее =ПОДСТАВИТЬ(A12;» «;СИМВОЛ(10)). Вместо А12 должен быть ваш исходный текст.
- Жмите «Ввод», чтобы данные сразу отобразились на новой строке.
Это основные способы для переноса. Если вы не хотите, чтобы высота строк менялась в сторону увеличения, попробуйте следующий вариант:
- Выделите несколько ячеек по высоте.
- Используйте инструмент «Объединить …».
После выполненных шагов появляется большая секция в Excel, в которую легко влезает весь текст.
Альтернативное решение — вертикальное размещение. Такой вариант не очень удобен, но может использоваться, когда другие варианты не подходят, а горизонтально материал не влезает:
- Поставьте курсор в нужное место.
- Перейдите в «Главная».
- Жмите на значок «ab» со стрелкой.
- Кликните на пункт «Вертикальный текст».
Также учтите, что перенесенный материал иногда не влезает в секцию Excel из-за неправильной высоты строки. Для настройки автоматического изменения этого параметра войдите в «Формат», наведите на раздел «Строка» и кликните на «Автоподбор».
Переход на новую строчку
Следующее решение, если в Эксель не влезает текст в ячейку — его перенос на новую строчку. Речь идет о создании так называемого разрыва строки. Например, на Макбуке сделайте следующие шаги:
- Жмите дважды в нужной секции.
- Кликните на том месте, где нужно вставить разрыв строки и кликните на «Control+Option+Return».
Уменьшение материала
Универсальное решение, когда в Эксель текст не помещается в ячейку — уменьшение его размера. В Excel это можно сделать простым способом для всех интересующих секций. Сделайте следующие шаги:
- Выделите интересующие ячейки.
- Жмите на них правой кнопкой мышки.
- Кликните на пункт «Формат …»
- В окне «Форматирование …» поставьте отметку «Автоподбор ширины».
Информация в секции уменьшается с учетом ширины столбца. В случае внесения таких изменений или вводе дополнительной информации размер шрифта настраивается в автоматическом режиме.
Изменение выравнивание / поворот
Для улучшения отображения информация на листе Excel, можно поменять позицию текста в ячейке. Как вариант, можно поменять отступы или развернуть информацию под углом.
- Выделите нужную секцию в Excel или группу ячеек с информацией, которая не влезает.
- В разделе «Формат» выберите «Ячейки».
- В окне «Форматирование …» в разделе «Выравнивание» сделайте одно из предложенных действий.
На выбор доступны следующие варианты:
- выравнивание по горизонтали;
- заполнение или по центру выделения;
- по вертикали (этот метод упоминался выше);
- по горизонтали по одному из краев;
- ориентация — отображение сверху вниз;
- поворот с помощью «Ориентация» на определенные градусы;
- восстановление данных.
Учтите, что при сохранении книги Excel в ином формате перевернутый материал может не показываться под правильным углом.
Размер шрифта
Если в Экселе не помещается текст, попробуйте изменить его размер. Для этого сделайте следующее:
- Выделите нужные секции.
- Войдите в «Главная», а далее «Размер шрифта».
- Введите другое число или щелкните для уменьшения размеров.
Как видно, существует много решений, когда информация не влезает в секцию Excel. В комментариях расскажите, какой из методов вам подошел, а также поделитесь, какое еще решение может помочь.
После манипуляции с файлом необходимо его закрыть. В противном случае он останется захваченным в системе, и мы не сможем его использовать в других приложениях.
Клиент-Серверный вариант в управляемых формах.
1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.
2-ой способ - это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.
Очень часто приходится работать с очень большими файлами Excel, и его обработка путем перебора строк занимает огромное количество времени.
В таких случаех удобно в одно действие загрузить всю таблицу в массив и в потом работать уже непосредственно с массивом.
На выходе получаем двумерный массив, который содержит все данные указанного листа Excel
Полезные функции при работе с Excel:
Устанавливает видимость Excel при работе |
Добавление новой книги в файл Excel |
Сохранение книги Excel |
Добавление нового листа к книге |
Переименование листа |
Изменение маштаба листа |
Изменение ориентации листа |
Отступы листа |
Обращение к ячейки чтение/запись |
Обращение к области ячеек |
Очень часто при чтении или записи значений в Excel ставятся лишние пробелы в числе, например, вместо 1502 он читает как 1 502 и в дальнейшем это значение не приводится к числу. Эту проблему можно решить заменой. |
Объединение ячеек |
Работа с именованными ячейками в Excel |
Удаление ячейки |
Удаление области ячеек |
Обращение к строке |
Изменение ширины колонки |
Обращение к колонке |
Удаление Строки |
Фон ячейки / области / Строки / |
Функция переводит цвет из формата RGB в формат Excel |
Управление шрифтом в ячейки/строке/области |
Р азрешает переносить по словам в ячейке |
Управление рамкой ячейки |
Устанавливаем формат ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Функция для получения ширины колонки Excel Спасибо пользователю goodwill |
Разрешить перенос слов в ячейке Спасибо пользователю roofless |
Группировки данных на листе Спасибо пользователю dr-wit, ignor |
При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.
2. Работа с Excel через ТабличныйДокумент 1С
С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.
Итак, приступим: загрузка из Excel:
1. Загружаем файл Excel в табличный документ
2. Производим манипуляции уже с ТабличнымДокументом
Давайте теперь разберем сохранение в Excel с помощью данного метода:
Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel
2. Работа с Excel ADODB
Выражаю особую благодарность коллеги Fragster за хороший комментарий
Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:
- Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
- Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.
Подключение к ADO
Отключение от ADO
Выполнение запроса
Пример запроса:
Запись в Excel тоже производится в виде запроса:
Хочу отметить что наименование полей производится по первой строке в таблице
ADODB предоставляет ряд объектов, с которыми мы работаем
ADODB.Recordset
В файле продемонстрированны оба варианта работы с запросами.
На этом пока все. По возможности буду дополнять статью :)
В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.
Читайте также: