1с как распечатать документ 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.
При распечатке таблиц и других данных документа Excel нередко бывают случаи, когда данные выходят за границы листа. Особенно неприятно, если таблица не помещается горизонтально. Ведь в таком случае наименования строк окажутся на одной части распечатанного документа, а отдельные столбцы – на другой. Ещё более обидно, если совсем чуть-чуть не хватило места, чтобы полностью разместить таблицу на странице. Но выход из этого положения существует. Давайте разберемся, как распечатать данные на одном листе различными способами.
Печать на одном листе
Прежде, чем переходить к решению вопроса о том, как поместить данные на одном листе, следует определиться стоит ли вообще это делать. Нужно понимать, что большинство из тех способов, о которых пойдет речь ниже, предполагают уменьшение масштаба данных для того, чтобы уместить их на одном печатном элементе. Если за границы листа выходит относительно небольшая по размеру часть, то это вполне приемлемо. Но если не помещается значительное количество информации, то попытка разместить все данные на один лист может привести к тому, что они будут уменьшены настолько, что станут нечитабельны. Возможно, в этом случае лучшим выходом будет распечатать страницу на бумаге большего формата, склеить листы или найти другой выход из положения.
Так что пользователь должен определить сам, стоит ли пытаться вместить данные или нет. Мы же перейдем к описанию конкретных способов.
Способ 1: смена ориентации
Этот способ является одним из описанных здесь вариантов, в котором не придется прибегать к уменьшению масштаба данных. Но он подойдет только в том случае, если документ насчитывает небольшое количество строк, или для пользователя не таким важным является то, чтобы он уместился на одну страницу в длину, а достаточно будет того, что данные расположатся на площади листа в ширину.
- Прежде всего, нужно проверить, помещается ли таблица в границы печатного листа. Для этого переключаемся в режим «Разметка страницы». Для того, чтобы это сделать кликаем по пиктограмме с одноименным названием, которая расположена на строке состояния.
Есть также альтернативный вариант смены ориентации листа.
-
Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать». В центральной части открывшегося окна расположен блок настроек печати. Кликаем по наименованию «Книжная ориентация». После этого открывается список с возможностью выбора другого варианта. Выбираем наименование «Альбомная ориентация».
Кроме того, можно изменить ориентацию через окно параметров.
-
Находясь во вкладке «Файл», в разделе «Печать» кликаем по надписи «Параметры страницы», которая расположена в самом низу настроек. В окно параметров можно попасть и при помощи других вариантов, но о них мы подробно поговорим при описании Способа 4.
Ориентация документа будет изменена, а, следовательно, расширена область печатного элемента.
Способ 2: сдвиг границ ячеек
Иногда бывает, что пространство листа используется неэффективно. То есть, в некоторых столбцах имеется пустое место. Это увеличивает размер страницы в ширину, а значит, выводит её за пределы одного печатного листа. В этом случае есть смысл уменьшить размер ячеек.
-
Устанавливаем курсор на панель координат на границе столбцов справа от того столбца, который вы считаете возможным уменьшить. При этом курсор должен превратиться в крестик со стрелками, направленными в две стороны. Зажимаем левую кнопку мыши и двигаем границу влево. Это движение продолжаем до тех пор, пока граница не достигнет данных той ячейки столбца, которая заполнена больше других.
При необходимости подобную операцию можно проделывать и со строками.
Недостаток указанного способа состоит в том, что он применим далеко не всегда, а только в тех случаях, когда пространство рабочего листа Excel было использовано неэффективно. Если же данные расположены максимально компактно, но все равно не помещаются на печатный элемент, то в таких случаях нужно использовать другие варианты, о которых мы поговорим ниже.
Способ 3: настройки печати
Сделать так, чтобы все данные при печати поместились на один элемент, можно также в настройках печати путем масштабирования. Но в этом случае нужно учесть, что сами данные будут уменьшены.
-
Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать».
Также, если нет обязательной необходимости уменьшать все строки на одном листе можно в параметрах масштабирования выбрать пункт «Вписать столбцы на одну страницу». В этом случае данные таблицы горизонтально будут умещены на один печатный элемент, но вот в вертикальном направлении подобного ограничения не будет.
Способ 4: окно параметров страницы
Поместить данные на одном печатном элементе можно также при помощи окна, которое имеет название «Параметры страницы».
-
Существует несколько способов запуска окна параметров страницы. Первый из них заключается в переходе во вкладку «Разметка страницы». Далее нужно кликнуть по пиктограмме в виде наклонной стрелки, которая размещена в нижнем правом углу блока инструментов «Параметры страницы».
Аналогичный эффект с переходом в нужное нам окно будет при клике по такой же самой пиктограмме в нижнем правом углу группы инструментов «Вписать» на ленте.
Также существует вариант попасть в данное окно через настройки печати. Переходим во вкладку «Файл». Далее кликаем по наименованию «Печать» в левом меню открывшегося окна. В блоке настроек, который расположен в центральной части окна жмем по надписи «Параметры страницы», размещенной в самом низу.
Как и в предыдущем способе, в окне параметров можно произвести настройки, при которых данные будут помещаться на листе только в горизонтальном направлении, а в вертикальном ограничения не будет. Для этих целей требуется, переставив переключатель в позицию «Разместить не более чем на», в поле «Стр. в ширину» установить значение «1», а поле «Стр. в высоту» оставить пустым.
Как видим, существует довольно большое количество способов вместить все данные для печати на одной странице. Причем, описанные варианты, по сути, весьма отличаются между собой. Уместность применения каждого из способов должна быть продиктована конкретными обстоятельствами. Например, если вы оставляете слишком много пустого места в столбцах, то наиболее оптимальным вариантом будет просто сдвинуть их границы. Также, если проблема состоит не в том, чтобы поместить таблицу на один печатный элемент в длину, а только в ширину, то, возможно, есть смысл подумать о смене ориентации на альбомную. Если же эти варианты не подходят, то можно применить способы, связанные с уменьшением масштабирования, но в этом случае размер данных тоже будет уменьшен.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Зачастую конечной целью работы над документом Excel является его распечатка. Но, к сожалению, не каждый пользователь знает, как выполнить данную процедуру, особенно если нужно вывести на печать не все содержимое книги, а только определенные страницы. Давайте разберемся, как производить распечатку документа в программе Excel.
Вывод документа на принтер
Прежде, чем приступать к распечатке любого документа, следует убедиться, что принтер правильно подключен к вашему компьютеру и произведена необходимая его настройка в операционной системе Windows. Кроме того, наименование устройства, на котором вы планируете производить печать должно отображаться через интерфейс Эксель. Для того, чтобы убедиться в правильности подключения и настройки, перейдите во вкладку «Файл». Далее переместитесь в раздел «Печать». В центральной части открывшегося окна в блоке «Принтер» должно отображаться наименование того устройства, на котором вы планируете распечатывать документы.
Но даже, если устройство правильно отображается, это ещё не гарантирует, что оно подключено. Данный факт означает только то, что оно правильно настроено в программе. Поэтому перед выполнением распечатки убедитесь, что принтер включен в сеть и подсоединен к компьютеру посредством кабеля или беспроводных сетей.
Способ 1: печать всего документа
После того, как подключение проверено, можно приступать к распечатке содержимого файла Excel. Проще всего распечатать документ целиком. С этого мы и начнем.
-
Переходим во вкладку «Файл».
- Односторонняя печать;
- Двусторонняя с переворотом относительно длинного края;
- Двусторонняя с переворотом относительно короткого края.
- Широкие;
- Узкие;
- Последнее пользовательское значение.
- Текущий (распечатка листов с фактическим размером) – по умолчанию;
- Вписать лист на одну страницу;
- Вписать все столбцы на одну страницу;
- Вписать все строки на одну страницу.
Существует и альтернативный вариант настроек печати. Его можно осуществить, перейдя во вкладку «Разметка страницы». Элементы управления отображением печати размещены в блоке инструментов «Параметры страницы». Как видим, они практически те же, что и во вкладке «Файл» и управляются по таким же принципам.
Для перехода в окно «Параметры страницы» нужно нажать на пиктограмму в виде косой стрелки в нижнем правом углу одноименного блока.
После этого будет запущено уже знакомое нам окно параметров, в котором можно производить действия по вышеуказанному алгоритму.
Способ 2: распечатка диапазона указанных страниц
Выше мы рассмотрели, как настроить печать книги в целом, а теперь давайте рассмотрим, как это сделать для отдельных элементов, если мы не хотим печатать весь документ.
-
Прежде всего, нам нужно определить, какие именно страницы по счету нужно распечатать. Для выполнения данной задачи следует перейти в страничный режим. Это можно сделать, кликнув по пиктограмме «Страничный», которая размещена на строке состояния в правой её части.
Способ 3: печать отдельных страниц
Но что делать, если нужно распечатать не один диапазон, а несколько диапазонов страниц или несколько отдельных листов? Если в Ворде листы и диапазоны можно задать через запятую, то в Экселе такого варианта не существует. Но все-таки выход из данной ситуации есть, и он заключается в инструменте, который называется «Область печати».
-
Переходим в страничный режим работы Excel одним из тех способов, о которых шел разговор выше. Далее зажимаем левую кнопку мыши и выделяем диапазоны тех страниц, которые собираемся распечатать. Если нужно выделить большой диапазон, то кликаем сразу по его верхнему элементу (ячейке), затем переходим к последней ячейке диапазона и кликаем по ней левой кнопкой мыши с зажатой клавишей Shift. Таким способом можно выделить сразу несколько последовательно идущих страниц. Если мы кроме этого хотим распечатать и ряд других диапазонов или листов, то производим выделение нужных листов с зажатой кнопкой Ctrl. Таким образом, все нужные элементы будут выделены.
Кстати, этим же способом с помощью установки области выделения можно производить печать не только отдельных листов, но и отдельных диапазонов ячеек или таблиц внутри листа. Принцип выделения при этом остается тем же, что и в описанной выше ситуации.
Как видим, для того, чтобы настроить печать нужных элементов в Экселе в том виде, в котором вы того желаете, нужно немного повозиться. Полбеды, если нужно распечатать весь документ, но если требуется произвести печать отдельных его элементов (диапазонов, листов и т.д.), то начинаются трудности. Впрочем, если вы знакомы с правилами распечатки документов в этом табличном процессоре, то сможете с успехом решить поставленную задачу. Ну, а о способах решения, в частности при помощи установки области печати, как раз и рассказывает данная статья.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Не секрет, что среди офисных работников, в частности тех, которые заняты в расчетной и финансовой сфере, особенно популярны программы Excel и 1С. Поэтому довольно часто приходится производить обмен данными между этими приложениями. Но, к сожалению, далеко не все пользователи знают, как быстро это сделать. Давайте выясним, как выгрузить данные из 1С в документ Excel.
Выгрузка информации из 1C в Excel
Если загрузка данных из Excel в 1С – это довольно сложная процедура, автоматизировать которую можно только с помощью сторонних решений, то обратный процесс, а именно выгрузка из 1С в Эксель – это сравнительно простой набор действий. Его можно легко выполнить с помощью встроенных инструментов вышеуказанных программ, причем сделать это можно несколькими способами, в зависимости от того, что именно пользователю нужно перенести. Рассмотрим, как это выполнить на конкретных примерах в 1С версии 8.3.
Способ 1: копирование содержимого ячейки
Одна единица данных содержится в ячейке 1С. Её можно перенести в Эксель обычным методом копирования.
-
Выделяем ячейку в 1С, содержимое которой нужно скопировать. Кликаем по ней правой кнопкой мыши. В контекстном меню выбираем пункт «Копировать». Можно воспользоваться также универсальным способом, который действует в большинстве программ, работающих на ОС Windows: просто выделяем содержимое ячейки и набираем комбинацию клавиш на клавиатуре Ctrl+C.
Вместо этого действия можно после выделения ячейки, находясь во вкладке «Главная», щелкнуть по значку «Вставить», который расположен на ленте в блоке «Буфер обмена».
Содержимое ячейки 1С будет вставлено в Excel.
Способ 2: вставка списка в существующую книгу Excel
Но вышеуказанный способ подойдет лишь в том случае, если нужно перенести данные из одной ячейки. Когда же нужно совершить перенос целого списка, то следует воспользоваться другим способом, ведь копирование по одному элементу отберет очень много времени.
-
Открываем любой список, журнал или справочник в 1С. Кликаем на кнопку «Все действия», которая должна располагаться вверху от обрабатываемого массива данных. Запускается меню. Выбираем в нем пункт «Вывести список».
Поле «Выводить в» имеет два значения:
По умолчанию установлен первый вариант. Для переноса данных в Эксель он как раз и подходит, так что тут мы ничего не меняем.
В блоке «Выводить колонки» можно указать, какие колонки из списка вы хотите перевести в Excel. Если вы собираетесь производить перенос всех данных, то эту настройку тоже не трогаем. Если же вы хотите произвести конвертацию без какого-то столбца или нескольких столбцов, то снимаем галочку с соответствующих элементов.
Список вставлен в документ.
Способ 3: создание новой книги Excel со списком
Также список из программы 1С можно сразу вывести в новый файл Эксель.
- Выполняем все те шаги, которые были указаны в предыдущем способе до формирования списка в 1С в табличном варианте включительно. После этого жмем на кнопку вызова меню, которая расположена в верхней части окна в виде треугольника, вписанного в оранжевый круг. В запустившемся меню последовательно переходим по пунктам «Файл» и «Сохранить как…».
Ещё проще сделать переход, нажав на кнопку «Сохранить», которая имеет вид дискеты и расположена в блоке инструментов 1С в самом верху окна. Но такая возможность доступна только пользователям, которые применяют программу версии 8.3. В ранних версиях можно использовать только предыдущий вариант.
Весь список будет сохранен отдельной книгой.
Способ 4: копирование диапазона из списка 1С в Excel
Бывают случаи, когда нужно перенести не весь список, а только отдельные строки или диапазон данных. Этот вариант тоже вполне воплотим с помощью встроенных инструментов.
-
Выделяем строки или диапазон данных в списке. Для этого зажимаем кнопку Shift и кликаем левой кнопкой мыши по тем строкам, которые нужно перенести. Жмем на кнопку «Все действия». В появившемся меню выбираем пункт «Вывести список…».
Способ 5: Сохранение документов в формате Excel
В Excel иногда нужно сохранять не только списки, но и созданные в 1С документы (счета, накладные платежные поручения и т.д.). Это связано с тем, что для многих пользователей редактировать документ проще в Экселе. К тому же в Excel можно удалить заполненные данные и, распечатав документ, использовать его при необходимости как бланк для ручного заполнения.
-
В 1С в форме создания любого документа имеется кнопка печати. На ней расположена пиктограмма в виде изображения принтера. После того, как в документ введены необходимые данные и он сохранен, жмем на этот значок.
Документ будет сохранен в формате Эксель. Этот файл теперь можно открывать в данной программе, и проводить дальнейшую его обработку уже в ней.
Как видим, выгрузка информации из 1С в формат Excel не составляет никаких сложностей. Нужно знать только алгоритм действий, так как, к сожалению, не для всех пользователей он интуитивно понятен. С помощью встроенных инструментов 1С и Эксель можно копировать содержимое ячеек, списков и диапазонов из первого приложения во второе, а также сохранять списки и документы в отдельные книги. Вариантов сохранения достаточно много и для того, чтобы пользователь мог найти подходящий именно для его ситуации, совсем не нужно прибегать к использованию стороннего программного обеспечения или применять сложные комбинации действий.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
В 1С формируются квитанции ЖКХ на 200 квартир,
затем выгружается в Excel, приэтом бухгалтер утверждает, что она не может сформировать список жильцов по возрастанию номеров квартир. Например кв. № 1, 2, 3 и т.д.
Присылает бухгалтер: кв. № 46, кв. 001, кв. 010, кв. 100, кв 111 и.д.
Работать с таким порядком в ТСЖ для подготовки выписок квитанций за три года для суда, крайне сложно. Ответ бухгалтера- так работает программа. (т.е. программа создана не для людей).
В Excel — есть программа поиска по фамилии, по квартире, но она не работает с выгрузкой из 1С.
как выйти из этого дурацкого положения?
Красные флаги, броневик и вся власть советам
можно ли сделать выгрузу с 1с в EXcel книги учета материальных ценностей
Задайте вопрос или оставьте свое мнение Отменить комментарий
У кого не вызывала злость следующая ситуация - красиво отформатированная печатная форма - очень элегантно смотрится в 1С (*.mxl), но НАЧАЛЬНИКУ нужно послать в формате MS EXCEL (*.xls). Что мы делаем? Файл- Сохранить как. - сохраняем в *.xls отправляем ШЕФУ и тут звонок. "Ты видел что ты мне послал . "
Знакомо :-) ?
Сразу предупреждаю, что это не программа, а рассказ - как пошагово добиться нужного результата. Одна из идей, а не панацея (с рабочим примером). Предложите лучшую - буду премного благодарен.
Рассказ для платформы 7.7 (результат проверен на WIN XP и MS OFFICE 2003)
Все Вы отличные программисты и всегда в программном коде для вывода на печать печатной формы писали типа.
Красиво форматировали макет (объединяли строки, столбцы, задавали направление текста вертикальное. ), выводили на печать и все это радовало глаз (в 1С). Но, увы, при сохранении в формате *.xls многие форматы новоиспеченный документ забывал. И приходилось опять вручную форматировать таблицу.
Но мы же с Вами программисты! Давайте облегчим нашу работу.
Итак, нужно как-то передавать в EXCEL параметры форматирования (отображения) документа.
Для этого выберем старый проверенный способ - строковой параметр, разделенный запятой.
1. Где его хранить (параметр в сохраненном документе) ?
- Как вариант, записывать в ячейку (пусть будет А1)
- Чтобы не отображался параметр при печати из 1С, цвет шрифта сделаем равным цвету фона таблицы
- А как наш параметр будет отличаться от другого текста? Пусть начинается с префикса "1С,"
2. Как его передавать в нужную таблицу ?
- Для этого напишем процедуру в глобальном модуле или модуле формы объекта
ДобавимПараметрыДляФорматаВЭксель
(Таб, //Макет таблицы в которую нужно поместить метку
ФиксСтрок="", // Число, сколько строк нужно закрепить в окне EXCEL
ФискСтолбцов="", // Число, сколько столбцов нужно закрепить в окон EXCEL
ФлагЗакрепОкна="", // 0 - не закреплять, 1 - закрепить разделитель окна
ПовторСтрНач="", // начальная строка для повтора при выводе на печать
ПовторСтрКон="", // конечная строка для повтора при выводе на печать
ОриенСтр="" // ориентация страницы, 1 - портрет, 2 - ландшафт
Таким образом мы с Вами добились, что нужные документы в 1С имеют "секретный пакет" для EXCEL, но, а он-то не знает, что со всем этим делать ?
Для этого в MS OFFICE существуют макросы (на языке VBA). Например есть предопределенный макрос Workbook_Open(). Все, что будет написано в его процедуре, будет выполнятся при открытии новой книги EXCEL.
Правда, я думаю, не разумно будет каждый документ проверять на предмет наличия параметра из 1С, поэтому добавим командную панель с кнопочками, при нажатии на которую документ будет моментально "приводиться" к нужному виду.
В прилагаемой обработке НастройкаТаблицыВЕхсель - сама процедура ДобавимПараметрыДляФорматаВЭксель() и пример работы. Отредактируйте ее под себя или просто скопируйте. Запустив обработку, у Вас в Вашем EXCEL добавится командная панель , как на рисунке.
Читайте также: