1с сохранить эксель без вопросов
Выгрузка данных из 1С в Excel - задача, которая встречается довольно часто, но, к сожалению, не все пользователи знают как ее правильно решить.
Хорошая новость заключается в том, что сделать это очень просто, буквально в 2 клика мышкой.
Выгрузка данных из отчетов 1С в Excel
Для начала откроем отчет. Любой. В нашем примере мы рассмотрим два отчета: один из УНФ, другой из УТ.
✅ Способ №1 (Подходит для всех конфигураций)
Нажмите на клавиатуре Ctrl+S. Самый универсальный способ.
✅ Способ №2 (Конфигурации на управляемых формах)
Нажать на иконку с дискетой в правом верхнем углу
✅ Способ №3 (Конфигурации на обычных формах)
Нажать файл, затем "сохранить" или "сохранить как". Или нажать на на иконку с дискетой.
✅ Способ №4 (Сохранение данных по нажатию кнопки из формы отчета)
Во многих типовых конфигурациях на форму отчета выведены кнопки, при нажатии на которые, можно сохранить данные.
Вне зависимости от способа, которым вы воспользуетесь, откроется окно сохранения файла.
В этом окне нужно указать адрес папки, в которую вы хотите сохранить файл:
Затем необходимо указать имя файла:
Обязательно указываем тип файла (выбираем старый или новый формат Excel).
Кстати, не обязательно выбирать именно Excel, если вам нужно сохранить данные в Word или PDF - просто выберите интересующий вас формат в списке.
После этого нажимаем на кнопку "Сохранить":
Файл с данными из отчета в формате Excel появится в указанной вами папке :)
Сохранение данных из списков и табличных частей в Excel
Еще одна полезная фишка, о которой стоит рассказать.
А вы знали, что практически любой список или табличную часть документа из 1С можно запросто сохранить в Excel? Теперь знаете.
Управляемые формы
Для примера откроем список заказов клиентов в УНФ:
Перед тем, как вывести его на печать, возможно? вы захотите установить период, а также нужные вам отборы.
Существует несколько способов программной работы с файлами Excel из 1С. Каждый из них имеет свои преимущества и недостатки.
Обмен через табличный документ
Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:
- Записать (< ИмяФайла >, < ТипФайлаТаблицы >) для выгрузки данных в файл;
- Прочитать (< ИмяФайла >, < СпособЧтенияЗначений >) для загрузки данных из файла.
Внимание!
Метод Записать () доступен как на клиенте, так и на сервере. Метод Прочитать () доступен только на стороне сервера. Необходимо помнить об этом
при планировании клиент-серверного взаимодействия.
Рассмотрим пример сохранения табличного документа в файл. Необходимо любым способом создать и заполнить объект ТабличныйДокумент, а выгрузка в файл осуществляется всего лишь одной строкой:
ТабДок . Записать ( ПутьКФайлу , ТипФайлаТабличногоДокумента . XLSX );
Загрузка из файла осуществляется также достаточно просто:
ТабДок = Новый ТабличныйДокумент ;
ТабДок . Прочитать ( ПутьКФайлу , СпособЧтенияЗначенийТабличногоДокумента.Значение );
Обмен через OLE
Обмен через технологию OLE automation, пожалуй, самый распространенный вариант программной работы с файлами Excel. Он позволяет использовать весь функционал, предоставляемый Excel, но отличается медленной скоростью работы по сравнению с другими способами. Для обмена через OLE требуется установка MS Excel:
- На компьютере конечного пользователя, если обмен происходит на стороне клиента;
- На компьютере сервера 1С:Предприятие, если обмен происходит на стороне сервера.
Пример выгрузки:
Примеры чтения:
Для обхода всех заполненных строк листа Excel можно использовать следующие приемы:
Вместо последовательного обхода всех строк листа можно выгрузить все данные в массив и работать с ним. Такой подход будет быстрее при чтении большого объема данных:
ВсегоКолонок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Column ;
ВсегоСтрок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Row ;Область = Лист . Range ( Лист . Cells ( 1 , 1 ), Лист . Cells ( ВсегоСтрок , ВсегоКолонок ));
Данные = Область . Value . Выгрузить ();
В таблице ниже приведены наиболее востребованные свойства и методы для работы с Excel через OLE:
Для того, чтобы узнать какое свойство нужно менять или какой метод вызвать можно воспользоваться макросами Excel. Если записать макрос с требуемыми действиями, то после можно посмотреть программный код на VBA записанного макроса.
Использование COMSafeArray
Обмен через ADO
Файл Excel при обмене через ADO представляет собой базу данных, к которой можно обращаться при помощи SQL-запросов. Установка MS Excel не требуется, но обязательно наличие драйвера ODBC, при помощи которого будет осуществляться доступ. Используемый драйвер ODBC определяется при указании строки соединения к файлу. Обычно требуемый драйвер уже установлен на компьютере.
Обмен через ADO заметно быстрее обмена через OLE, но при выгрузке нет возможности использовать функционал Excel для оформления ячеек, разметки страниц, задания формул и т.д.
Пример выгрузки:
Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table. В этом случае код примет вид:
В приведенном примере в методе
во втором параметре указывается тип колонки. Параметр необязательный, вот некоторые значения типа колонки:
Пример чтения:
В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:
В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:
- Connection;
- Command;
- Recordset;
- Record;
- Fields;
- Stream;
- Errors;
- Parameters;
- Properties.
Выгрузка без программирования
Для сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования.
В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла.
Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:
Остались вопросы?
Спросите в комментариях к статье.
Не секрет, что среди офисных работников, в частности тех, которые заняты в расчетной и финансовой сфере, особенно популярны программы 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С и Эксель можно копировать содержимое ячеек, списков и диапазонов из первого приложения во второе, а также сохранять списки и документы в отдельные книги. Вариантов сохранения достаточно много и для того, чтобы пользователь мог найти подходящий именно для его ситуации, совсем не нужно прибегать к использованию стороннего программного обеспечения или применять сложные комбинации действий.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Сейчас работает выгрузка из датагрид в exel и сохранение документа с запросом к пользователю, но надо, чтобы сохранение происходило автоматически.
ExcelWorkBook.SaveAs(@"C:\Users\admin\Documents" + k + ".xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefaul t, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
По идее, как я поняла, за сохранение отвечает эта строчка, но она выдает ошибку Use of unassined local variable.
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Закрытие книги Excel без запроса на сохранение
Excel.Application xlApp = new Excel.Application(); //Excel Excel.Workbook xlWB; //рабочая книга .
Выход без запроса на сохранение
Как сделать так, чтобы при закрытии не было запроса на сохранение?
Сохранение документа Word без запроса
Подскажите как отловить событие - когда пользователь нажал на кнопку Закрыть в документе Ворд и.
Закрыть форму без запроса на сохранение
Есть форма которая служит для ввода параметров по котором формируется отчет, например пользователь.
В переменной содержится счетчик, который и должен быть именем файла
Ругается именно на ExcelWorkBook
переделала чтобы имя было string, а не int на всяк случай переделала чтобы имя было string, а не int на всяк случай В этом не было необходимости. Достаточно было инициализировать переменную k Ma_Russia, невнимательно посмотрел. Переменная ExcelWorkBook же неинициализирована. Меняем строку №5 наСпасибо!
уже хотя бы компилится, но вылезает такая ошибка
файла нет по тому пути, мб я не ту функцию использую? тк это я создаю файл, а не пересохраняю уже созданный
*ну и параллельно я путь поменяла, куда сохранять немного, как видно из ошибки*
Не могу сообразить как это записать..
на Microsoft.Office.Interop.Excel.xlLocalSessionChanges он ругается:
The type or namespace name 'xlLocalSessionChanges' does not exist in the namespace 'Microsoft.Office.Interop.Excel' (are you missing an assembly reference?)
Хотя парой аргументов до этого я описывала Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefaul t и все ок было
Простите, но я все таки поверю проверенному Excel чем вашей внимательности) Вы, возможно, смотрите не в той директории, или не под тем пользователем или ещё что-то. У вас в коде путь Это как минимум говорит о том что вы пропустили \ и скорее всего не там ищете Я ж написала, что поменяла путь.Ладно, уже ушла с работы, так что этот вопрос у меня завис до утра след дня.
Спасибо за подсказку, завтра все буду проверять!)
Решение
Ma_Russia, У меня вопрос. Какая версия Excel у вас установлена на компьютере?
Предлагаю следующие варианты Excel 97, 2000, 2003, 2007, 2010, 2013, 2016.
Если у вас установлена одна из версий 2007, 2010, 2013, 2016, то почему вы сохраняете с форматом XLS?
Аргумент XlFileFormat.xlWorkbookDefault говорит "необходимо сохранить файл с форматом "XLSX"
Вам нужно сперва определится какая версия Excel у вас стоит и с каким форматом вы хотите сохранить файл
Я сейчас переписал ваш код немного. Попробуйте его.
Напишите эту строку в самом верху
using Excel = Microsoft.Office.Interop.Excel;
почитайте комментарии в коде.
Если вам надо сохранить файл именно в формате Excel 2003, то раскомментируйте этот блок, а другой блок, который сохраняет в формате Excel 2007 наоборот закомментируйте.
и укажите свой путь к сохранению файла.
У меня установлен Excel 2013, соответственно я сохраняю файл в формат Excel 2007 (XLSX)
Часто у пользователей 1С возникает вопрос: как загрузить (сохранить) документ или отчет в Excel? На самом деле, сделать это довольно просто. Рассмотрим действия на примере 1С 8.3 Бухгалтерия предприятия 3.0.
Как из 1С 8.3 выгрузить в Excel оборотно-сальдовую ведомость
Предположим, нам необходимо сохранить отчет (или другую печатную форму) в формате Excel.
После сохранения документы будет находиться в указанной папке.
Открываться будут оба файла, т.к. более ранние версии документов поддерживаются более поздними версиями программ.
Как в 1С сохранить документ в Excel
Есть еще один способ как сохранить документ в 1С в формате Excel.
Предположим, нам надо сохранить Счет , Счет-фактуру или Платежное поручение , для распечатки на другом компьютере или отправке по электронной почте.
Рассмотрим сохранение на примере документа Платежное поручение . Сформируем его печатную форму и среди кнопок на панели инструментов видим кнопку с дискетой .
Выгрузка таблиц из 1С в Эксель
Иногда возникает необходимость сформировать список из данных табличных частей журналов документов, справочников и т.п. При этом можно установить отбор нужных элементов (дата, наименование контрагента). Рассмотрим пример.
Мы хотим вывести список Платежных поручений по уплате налогов и взносов за период.
Для выбора документов можно выделить их, удерживая кнопку Ctrl или Shift, а также используя горячие клавиши для выделения группы строк. После чего нажимаем кнопку Еще и выбираем команду Вывести список .
Выглядит он следующим образом.
Эти действия можно выполнять с любыми списками программы 1С.
При работе с большими списками, например, справочник Номенклатура , можно устанавливать дополнительный отбор и делать группировку, устанавливать порядок сортировки данных.
Поэтому перед формированием любого списка следует обратить внимание на команду Настройка списка в кнопке Еще .
Как сохранить данные ячеек таблицы из 1С в Excel
Иногда возникаем необходимость скопировать из отчета или документа часть данных. Сделать это можно обычным копированием. Для этого выделяем часть нужных ячеек и нажав правой кнопкой мышки выбираем команду Копировать (или сочетание клавиш Ctrl+C).
- Выгрузка в 1С из xml: как выгрузить данные из 1С 8.3 и загрузить в 1С 8.3
- Загрузка из Excel в 1С 8.3
- Горячие клавиши в 1С
- Поиск и замена значений 1С 8.3
- Групповое перепроведение документов в 1С 8.3 Бухгалтерия 3.0
- Групповая обработка справочников и документов в 1С 8.3
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В справочник Контрагенты можно загружать данные из таблиц. Это особенно.Иногда возникают ситуации, когда необходимо сделать копию информационной базы 1С.Иногда в работе сталкиваешься с ситуацией, когда возникает необходимость перенести.В справочнике Номенклатура можно загружать цены номенклатуры из подготовленных таблиц.
Карточка публикации
(10 оценок, среднее: 3,60 из 5)
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Все комментарии (3)
Спасибо за внимание к нашим материалам и интересный вопрос.
Возможность сохранить документ есть и в платформе 8.3.16. Просто сам процесс оптимизирован и стал удобнее.
Подробнее в обсуждении по ссылке
Платформа 8.3.16, как сохранить табличный документ
.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Читайте также: