Microsoft Excel

Как объединить листы в excel в один лист – Как объединить листы в Еxcel в один

собрать данные с нескольких листов на один сводный лист в секунды

Инструкция

Если свести в один нужно не очень большое число листов , это нетрудно сделать простой комбинацией операций копирования и вставки. Выберите лист, на котором будут объединены все таблицы - сводный. Если он уже содержит данные, установите курсор ввода в первую ячейку добавляемой области - в ячейку первой строки правее крайнего столбца при добавлении данных по горизонтали или в ячейку первой колонки ниже последней строки при добавлении по вертикали.

Перейдите на лист, данные которого требуется добавить в сводный, и кликните правую нижнюю ячейку с данными. Нажмите сочетание клавиш Ctrl + Shift + Home, чтобы выделить всю таблицу. Обратите внимание, что выделить надо только ячейки с данными, а не все содержимое листа, иначе при вставке Excel выдаст сообщение об ошибке. Пометите скопированную область в буфер обмена - нажмите комбинацию клавиш Ctrl + C.

Вернитесь на сводный лист и вставьте скопированное - нажмите «горячие клавиши» Ctrl + V. Повторите операции позиционирования, копирования и вставки нужное число раз, если требуется объединить больше двух листов

. По окончании процедуры скопированные листы можно удалить - кликайте их ярлычки правой кнопкой мыши, выбирайте пункт «Удалить» и нажимайте кнопку «Да» в диалоге подтверждения операции.

Если объединяемых листов достаточно много, придется воспользоваться скриптом, т.е. поместить в страницу кнопку и привязать к ней соответствующий макрос. Для этого надо воспользоваться вкладкой «Разработчик». Если она не отображается в меню, кликните свободное пространство на любой вкладке правой кнопкой мыши и выберите пункт «Настройка ленты». В списке «Основные вкладки» поставьте отметку у надписи «Разработчик» и нажмите OK.

На вкладке «Разработчик» раскройте выпадающий список «Вставить» из группы команд «Элементы управления» и выберите в нем самый первый элемент - кнопку. Затем щелчком мышки укажите место в таблице, куда надо поместить кнопку, и на экране появится диалоговое окно «Назначить макрос объекту».

Нажмите кнопку «Создать» и между первой и последней строками кода в открывшемся окне введите, например, такой набор команд:s_ = Sheets.CountSheets.Add After:=Sheets(s_)For i = 1 To s_ r_ = Sheets(i).Cells.SpecialCells(xlLastCell).Row Sheets(i).Range("A1", Sheets(i).Cells.SpecialCells(xlLastCell)).Copy Sheets(s_ + 1).Range("a" & n_ + 1) n_ = n_ + r_NextЗакройте редактор макросов.

Щелкните по созданной кнопке, и назначенный ей макрос создаст новый лист, в котором объединит содержимое всех остальных, сцепив их по вертикали.

Источники:

  • как объединить листы в excel
  • Как удалить переносы строк

Строками в табличном редакторе Microsoft Office Excel не всегда называют то же самое, что имеется в виду при работе с обычным текстом - в этом приложении такое определение дают ряду ячеек таблицы. Поэтому и объектом операции переноса здесь может быть как горизонтальная группа ячеек таблицы, так и помещенная в отдельную ячейку строка текста.

Вам понадобится

  • Табличный редактор Microsoft Office Excel 2007 или 2010.

Инструкция

Запустив табличный редактор, загрузите в него нужную электронную таблицу и выделите строку , которую надо перенести в другое место этой таблицы. Для этого кликните левой кнопкой мыши по заголовку нужного ряда ячеек - клетке с порядковым номером ряда, помещенной левее первой колонки.

Вырежьте выделенную строку - нажмите сочетание клавиш Ctrl + X или кликните выделение правой кнопкой мыши и выберите команду «Вырезать» в контекстном меню.

Выделите тот ряд таблицы, перед которым нужно разместить переносимую строку , и вновь раскройте контекстное меню - кликните выделение правой кнопкой мыши. На этот раз выберите команду «Вставить вырезанные ячейки» и операция переноса строки будет завершена.

Если требуется не перемещение строки, а вставка в определенное место текста одной из ячеек непечатаемого символа «конец строки», начните с включения режима редактирования этой ячейки. Для этого выделите ее и дважды кликните левой кнопкой мыши или нажмите клавишу F2. Затем переместите курсор ввода в нужную позицию и нажмите сочетание клавиш Alt + Enter. Весь оставшийся справа от курсора текст ячейки будет перенесен на следующую строку .

При необходимости автоматически вставить переносы во все ячейки электронной таблицы, которые содержат текстовые строки, не вмещающиеся в ширину колонки, выделите всю таблицу - нажмите сочетание клавиш Ctrl + A. Если текст размещен не во всех колонках и строках, можно выделить только нужную область таблицы. Затем на вкладке «Главная» в меню Excel нажмите кнопку «Перенос текста» - она помещена в правый верхний угол группы команд «Выравнивание».

Этого же эффекта можно добиться и другим способом. После выделения нужной области таблицы кликните ее правой кнопкой мыши и в контекстном меню выберите строку «Формат ячеек». Откроется отдельное окно, в котором перейдите на вкладку «Выравнивание» и поставьте метку в поле «Переносить по словам». Затем нажмите кнопку OK, и задача будет решена.

Вам когда-нибудь приходилось сводить несколько таблиц Excel в одну? Самое неприятное в этом процессе, обычно, заключается в том, что эти таблицы могут содержать сразу по несколько листов внутри каждого файла. Есть ли решение данной проблемы? Сегодня вы об этом узнаете.

Объединим несколько файлов Excel в один, воспользовавшись силой скрипта VBA

Этот способ сделает все за вас, но только вам придется немного под напрячься. Хорошо, если у вас есть хоть какие-то навыки программиста. Но, если вы полный чайник в Excel и, вообще, в компьютере, то , либо, будьте очень внимательными.

Итак, приступим.

Как и в методе « », во-первых, прежде чем дать команду объединить несколько таблиц в одну в Excel, вам нужно эти таблицы собрать в одну отдельную папку. Посмотрите на скриншоте, как я это сделал.

Теперь запустим программу VBA. Прочитайте в « », потому что принцип в Excel тот же самый.

Теперь, когда вы готовы, вот сам код скрипта:

Sub GetSheets() Path = "Укажите пусть до папки с файлами Excel" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub

Прошу обратить внимание на две строчки.

Этот код подойдет, если нужно объединить все листы в один файл Эксель. Но, если вам необходимо объединить определенные листы некоторых файлов, переходите к

Предположим, у вас есть несколько отчётов о продажах по разным регионам. Если вы хотите выполнить вычисления и построить графики ко всему объёму данных, вам нужно собрать все данные на один сводный лист. Переключение между несколькими книгами, бесконечное копирование сотен строк или написание VBA может занять много времени.

С надстройкой «Объединить листы», вы сможете собрать данные на один сводный лист в считанные секунды:

  • Собрать данные листов из разных книг на одном листе
  • Собрать данные листов с одинаковым именем и объединить по имени вкладки
  • Объединить данные

craft-m.ru

Как объединить листы в excel в один - инструкция

Транскрипт

1 Как объединить листы в excel в один - инструкция >>> <<< Хорошо, если у вас есть хоть какие-то навыки программиста. Но, если вы полный чайник в Excel и, вообще, в компьютере, то, либо, будьте очень внимательными. Как и в методе, во-первых, прежде чем дать команду объединить несколько таблиц в одну в Excel, вам нужно эти таблицы собрать в одну отдельную папку. Посмотрите на скриншоте, как я это сделал. Теперь запустим программу VBA. Прочитайте в, потому что принцип в Excel тот же самый. Sheets 1 Next Sheet Workbooks Filename. Конечно, надпись в кавычках нужно заменить. В кавычках указан формат файла. В Excel их, обычно, два:. Нажмите на файл правой кнопкой мыши и посмотрите «Свойства» файла. В скобках указан правильный тип файла. Но, если вам необходимо объединить определенные листы некоторых файлов, переходите к. Выберите те листы, которые вам нужны. Для множественного выбора держите зажатой клавиши CTRL для выбора отдельных листов, либо SHIFT для выбора всех вместе листов. А в списке «Перед листом» укажите место, где эти листы будут вставлены. Если вы не желаете, чтобы ваши листы пропали из открытой книги, поставьте галочку «Создать копию». Подписывайтесь, вступайте в группу вконтакте или ОК, комментируйте, и не забывайте делиться с другими! Она помогает копировать и управлять множеством листов одновременно. Формат PDF отлично подходит для того, чтобы передать информацию в удобном для просмотра и защищенном от редактирования виде. NET для полноценной работы. Путь к файлу вводится в поле Все ссылки. Нажмите кнопку OK и в ячейке появится значение, содержащее объединенный текст указанных вами ячеек. Создадим группу листов в Excel для этих сотрудников. Консолидация (объединение) данных из нескольких таблиц в одну - На главной странице выберите «Объединить PDF» - можно из текстового меню, можно из больших блоков ниже. Вы сделали таблицу в городе Microsoft Word, и при вводе данных вам потребовалось объединить две либо больше ячейки в одну. Этого же результата дозволено добиться и иным методом. При работе в программе Excel иногда наступает необходимость объединения двух и более столбцов. Программа спросит, куда сохранить файл, затем откроет его установленной в системе усмешкой для PDF. Как объединить листы в один и удалить дубликаты в Excel. Если снимать охрану должен только человек, ведающий пароль, то введите данный пароль в текстовое поле. Откроется окно «Формат ячеек». Это позволяет увеличить общую производительность поиска на целых 400%-500%.

docplayer.ru

Как сделать несколько страниц на одном листе в excel?

При распечатке таблиц и других данных документа Excel нередко бывают случаи, когда данные выходят за границы листа. Особенно неприятно, если таблица не помещается горизонтально. Ведь в таком случае наименования строк окажутся на одной части распечатанного документа, а отдельные столбцы – на другой. Ещё более обидно, если совсем чуть-чуть не хватило места, чтобы полностью разместить таблицу на странице. Но выход из этого положения существует. Давайте разберемся, как данные на одном листе различными способами.

Печать на одном листе

Прежде, чем переходить к решению вопроса о том, как поместить данные на одном листе, следует определиться стоит ли вообще это делать. Нужно понимать, что большинство из тех способов, о которых пойдет речь ниже, предполагают уменьшение масштаба данных для того, чтобы уместить их на одном печатном элементе. Если за границы листа выходит относительно небольшая по размеру часть, то это вполне приемлемо. Но если не помещается значительное количество информации, то попытка разместить все данные на один лист может привести к тому, что они будут уменьшены настолько, что станут нечитабельны. Возможно, в этом случае лучшим выходом будет страницу на бумаге большего формата, склеить листы или найти другой выход из положения.

Так что пользователь должен определить сам, стоит ли пытаться вместить данные или нет. Мы же перейдем к описанию конкретных способов.

Способ 1: смена ориентации

Этот способ является одним из описанных здесь вариантов, в котором не придется прибегать к уменьшению масштаба данных. Но он подойдет только в том случае, если документ насчитывает небольшое количество строк, или для пользователя не таким важным является то, чтобы он уместился на одну страницу в длину, а достаточно будет того, что данные расположатся на площади листа в ширину.

  1. Прежде всего, нужно проверить, помещается ли таблица в границы печатного листа. Для этого переключаемся в режим «Разметка страницы». Для того, чтобы это сделать кликаем по пиктограмме с одноименным названием, которая расположена на строке состояния.

    Также можно перейти во вкладку «Вид» и кликнуть по кнопке на ленте «Разметка страницы», которая расположена на ленте в блоке инструментов «Режимы просмотра книги».

  2. В любом из этих вариантов программа переходит в режим разметки страницы. При этом видны границы каждого печатного элемента. Как видим, в нашем случае таблица обрывается по горизонтали на два отдельных листа, что не может быть приемлемым.
  3. Для того, чтобы исправить ситуацию, переходим во вкладку «Разметка страницы». Жмем кнопку «Ориентация», которая расположена на ленте в блоке инструментов «Параметры страницы» и из появившегося небольшого списка выбираем пункт «Альбомная».
  4. После вышеуказанных действий таблица полностью поместилась на лист, но его ориентация поменялась с книжного на альбомный.

Есть также альтернативный вариант смены ориентации листа.

  1. Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать». В центральной части открывшегося окна расположен блок настроек печати. Кликаем по наименованию «Книжная ориентация». После этого открывается список с возможностью выбора другого варианта. Выбираем наименование «Альбомная ориентация».
  2. Как видим, в области предпросмотра, после вышеуказанных действий лист сменил ориентацию на альбомную и теперь все данные полностью входят в область печати одного элемента.

Кроме того, можно изменить ориентацию через окно параметров.

  1. Находясь во вкладке «Файл», в разделе «Печать» кликаем по надписи «Параметры страницы», которая расположена в самом низу настроек. В окно параметров можно попасть и при помощи других вариантов, но о них мы подробно поговорим при описании Способа 4.
  2. Запускается окно параметров. Переходим в его вкладку под названием «Страница». В блоке настроек «Ориентация» переставляем переключатель с позиции «Книжная» в позицию «Альбомная». Затем щелкаем по кнопке «OK» в нижней части окна.

Ориентация документа будет изменена, а, следовательно, расширена область печатного элемента.

Урок: Как сделать альбомный лист в Экселе

Способ 2: сдвиг границ ячеек

Иногда бывает, что пространство листа используется неэффективно. То есть, в некоторых столбцах имеется пустое место. Это увеличивает размер страницы в ширину, а значит, выводит её за пределы одного печатного листа. В этом случае есть смысл уменьшить размер ячеек.

  1. Устанавливаем курсор на панель координат на границе столбцов справа от того столбца, который вы считаете возможным уменьшить. При этом курсор должен превратиться в крестик со стрелками, направленными в две стороны. Зажимаем левую кнопку мыши и двигаем границу влево. Это движение продолжаем до тех пор, пока граница не достигнет данных той ячейки столбца, которая заполнена больше других.
  2. Подобную операцию проделываем и с остальными столбцами. После этого значительно увеличивается вероятность того, что все данные таблицы поместятся на одном печатном элементе, так как сама таблица становится гораздо компактнее.

При необходимости подобную операцию можно проделывать и со строками.

Недостаток указанного способа состоит в том, что он применим далеко не всегда, а только в тех случаях, когда пространство рабочего листа Excel было использовано неэффективно. Если же данные расположены максимально компактно, но все равно не помещаются на печатный элемент, то в таких случаях нужно использовать другие варианты, о которых мы поговорим ниже.

Способ 3: настройки печати

Сделать так, чтобы все данные при печати поместились на один элемент, можно также в настройках печати путем масштабирования. Но в этом случае нужно учесть, что сами данные будут уменьшены.

  1. Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать».
  2. Затем опять обращаем внимание на блок настроек печати в центральной части окна. В самом низу имеется поле настроек масштабирования. По умолчанию там должен быть установлен параметр «Текущий». Щелкаем по указанному полю. Открывается список. Выбираем в нем позицию «Вписать лист на одну страницу».
  3. После этого путем уменьшения масштаба все данные в текущем документе будут размещены на одном печатном элементе, что можно наблюдать в окне предпросмотра.

Также, если нет обязательной необходимости уменьшать все строки на одном листе можно в параметрах масштабирования выбрать пункт «Вписать столбцы на одну страницу». В этом случае данные таблицы горизонтально будут умещены на один печатный элемент, но вот в вертикальном направлении подобного ограничения не будет.

Способ 4: окно параметров страницы

Поместить данные на одном печатном элементе можно также при помощи окна, которое имеет название «Параметры страницы».

  1. Существует несколько способов запуска окна параметров страницы. Первый из них заключается в переходе во вкладку «Разметка страницы». Далее нужно кликнуть по пиктограмме в виде наклонной стрелки, которая размещена в нижнем правом углу блока инструментов «Параметры страницы».

    Аналогичный эффект с переходом в нужное нам окно будет при клике по такой же самой пиктограмме в нижнем правом углу группы инструментов «Вписать» на ленте.

    Также существует вариант попасть в данное окно через настройки печати. Переходим во вкладку «Файл». Далее кликаем по наименованию «Печать» в левом меню открывшегося окна. В блоке настроек, который расположен в центральной части окна жмем по надписи «Параметры страницы», размещенной в самом низу.

    Имеется ещё один способ запуска окна параметров. Перемещаемся в раздел «Печать» вкладки «Файл». Далее кликаем по полю настроек масштабирования. По умолчанию там указан параметр «Текущий». В открывшемся списке выбираем пункт «Параметры настраиваемого масштабирования…».

  2. Какое из вышеописанных действий вы бы не выбрали, перед вами откроется окно «Параметры страницы». Перемещаемся во вкладку «Страница», если окно было открыто в другой вкладке. В блоке настроек «Масштаб» устанавливаем переключатель в позицию «Разместить не более чем на». В полях «Стр. в ширину» и «Стр. в высоту» должны быть установлены цифры «1». Если это не так, то следует установить данные числа в соответствующих полях. После этого, чтобы настройки были приняты программой к исполнению, жмем на кнопку «OK», которая размещена в нижней части окна.
  3. После выполнения данного действия все содержимое книги будет готово к печати на одном листе. Теперь переходим в раздел «Печать» вкладки «Файл» и жмем на большую кнопку под названием «Печать». После этого произойдет распечатка материала на принтере на одном листе бумаги.

Как и в предыдущем способе, в окне параметров можно произвести настройки, при которых данные будут помещаться на листе только в горизонтальном направлении, а в вертикальном ограничения не будет. Для этих целей требуется, переставив переключатель в позицию «Разместить не более чем на», в поле «Стр. в ширину» установить значение «1», а поле «Стр. в высоту» оставить пустым.

Урок: Как страницу в Экселе

Как видим, существует довольно большое количество способов вместить все данные для печати на одной странице. Причем, описанные варианты, по сути, весьма отличаются между собой. Уместность применения каждого из способов должна быть продиктована конкретными обстоятельствами. Например, если вы оставляете слишком много пустого места в столбцах, то наиболее оптимальным вариантом будет просто сдвинуть их границы. Также, если проблема состоит не в том, чтобы поместить таблицу на один печатный элемент в длину, а только в ширину, то, возможно, есть смысл подумать о смене ориентации на альбомную. Если же эти варианты не подходят, то можно применить способы, связанные с уменьшением масштабирования, но в этом случае размер данных тоже будет уменьшен.

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

Здесь можно получить ответы на вопросы по Microsoft Excel57928473912

21 Окт 2018 05:51:15

44519357829

29 Янв 2017 17:28:40

Лучшие избранные темы с основного форума1480

28 Июн 2018 15:25:11

Если вы — счастливый обладатель Mac 😉2181064

17 Окт 2018 12:17:03

Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них.211313474

20 Окт 2018 23:38:54

Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда.3151600

20 Окт 2018 13:54:08

81211802

20 Окт 2018 11:40:10

Обсуждение функционала, правил и т.д.2693467

10 Окт 2018 12:27:11

Сейчас на форуме (гостей: 867, пользователей: 3, из них скрытых: 1) ,

Сегодня отмечают день рождения (53), (50), (33), (26), (25), (39), (22)

Всего зарегистрированных пользователей: 83372

Приняло участие в обсуждении: 31947

Всего тем: 106188

  1. Дважды нажмите на книгу, чтобы открыть ее в Excel. Эта книга должна содержать как минимум 2 листа, которые вы хотите объединить.

  2. Нажмите на +, чтобы создать пустой лист. Эта кнопка находится внизу книги, справа от названия листа.

  3. Выделите ячейку А1. Просто нажмите на нее, чтобы выделить.

  4. Нажмите на вкладку Данные вверху окна, между вкладками «Формулы» и «Рецензирование».

  5. Нажмите на Консолидация. Эта опция расположена на панели инструментов в группе «Работа с данными». После этого на экране появится окно «Консолидация».

  6. Нажмите на Сумма в выпадающем меню «Функция». Это первое выпадающее меню в окне «Консолидация».

  7. Нажмите на указывающую вверх стрелку в поле «Ссылка», в ячейке справа.

    Так вы уменьшите окно «Консолидация» и измените его название на «Консолидация — Ссылка».

    • В некоторых версиях Excel эта стрелка серая и черная. В других версиях она имеет вид крошечного прямоугольника, в котором находится красная стрелка.
  8. Выделите данные на первом листе. Для этого нажмите на название листа внизу экрана, а затем зажмите левую кнопку мыши и выделите данные, которые хотите объединить. Данные теперь будут окружены пунктирной линией.

  9. Нажмите на стрелку в окне «Консолидация — Данные». Вы снова увидите окно «Консолидация».

  10. Нажмите на кнопку Добавить справа от поля «Список диапазонов». Теперь вы готовы объединить выделенные данные с данными на другом листе.

  11. Нажмите на указывающую вверх стрелку в поле «Ссылка». Как и ранее, это приведет к уменьшению окна «Консолидация» и изменит его название на «Консолидация — Ссылка».

  12. Выделите данные на втором листе. Нажмите на название листа внизу книги, а затем выделите данные, которые хотите объединить.

  13. Нажмите на стрелку в окне «Консолидация — Ссылка».

  14. Нажмите Добавить.

    В поле «Список диапазонов» появится выделенные наборы данных.

    • Если вы хотите объединить и другие листы, добавьте данные тем же способом, как и с первыми двумя листами.
  15. Поставьте галочку рядом с опцией «подписи верхней строки» и «значения левого столбца». Это необходимо сделать в левом нижнем углу окна «Консолидация».

  16. Нажмите OK. Выделенные данные будут объединены и появятся на новом листе.

word-office.ru

Как объединить листы в excel в один

Vilen 16 февраля 2017, 16:34

План развивающих занятий и игр с ребенком (автоматическая таблица + перечень игр)

Полтора года назад я уже публиковала подобный план. Сейчас обновленная версия! План я составила в программе Excel. Перейдя по ссылке вы найдете не только таблицу для ведения, но и полный перечень возможных занятий и игр, с периодичностью их выполнения. В плане есть особенность ))) Вам не нужно планировать день занятия и переписывать еженедельно таблички. Всё происходит автоматически. Только играйте и занимайтесь с любимым чадом...

Читать полностью... Vilen 22 февраля 2017, 15:06

План развивающих занятий и игр с ребенком (автоматический план + перечень игр)

Полтора года назад я уже публиковала подобный план. Сейчас обновленная версия! План я составила в программе Excel. Перейдя по ссылке вы найдете не только таблицу для ведения, но и полный перечень возможных занятий и игр, с периодичностью их выполнения. В плане есть особенность ))) Вам не нужно планировать день занятия и переписывать еженедельно таблички. Всё происходит автоматически. Только играйте и занимайтесь с любимым чадом...

Читать полностью... Mama-squirrel 25 ноября 2015, 18:07

Главный пост "Наводим порядок в книжно-бумажно-творческом беспорядке!"

Дорогие участницы, подпишитесь на Главный пост нашего ФМ. Здесь будут все новости и задания ФМ. 1 декабря вы получите уведомление на электронную почту о начале ФМ. Напоминаю, что с 1 по 15 декабря мы будем вместе разбирать наши бумажные залежи, делиться идеями по компактному хранению, а также отчитываться об успехах. Вот что мы будем делать: 1. Разбираем книги «по полочкам», сортируем, выбираем лучшее место для хранения, избавляемся от неактуальных. 2. Развивающие пособия сортируем, создаем удобный формат для использования. 3. Игры...

Читать полностью...

www.babyblog.ru

Объединить листы excel в один

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
private void LoadDataPromotionalSales()
        {
            Microsoft.Office.Interop.Excel.Application ObjWorkExcelInput = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook ObjWorkBookInput = ObjWorkExcelInput.Workbooks.Open(textBoxPromotionalSales.Text, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheetInput = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookInput.Sheets.get_Item(1);
            Microsoft.Office.Interop.Excel.Application ObjWorkExcelOutput = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook ObjWorkBookOutput = ObjWorkExcelOutput.Workbooks.Open(@"C:\Users\ZLO\Desktop\!!!!!!!!!!!!!!!!!\Работа\Выходной файл (тестовый).xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheetOutput = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookOutput.Sheets.get_Item(8);
            var countCellInput = ObjWorkSheetInput.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell);
            try
            {
                Invoke((Action)delegate
                {
                    foreach (var c in Controls)
                        if (c is Button)
                            ((Button)c).Enabled = false;
                    progressBarLoadingExcelFile.Value = 0;
                    progressBarLoadingExcelFile.Visible = true;
                    progressBarLoadingExcelFile.Maximum = (int)countCellInput.Row;
                    labelStatus.Text = "Подождите, идет загрузка данных Promotional Sales.";
                });
                ObjWorkSheetOutput.Cells.Clear();
                for (int i = 1; i <= (int)countCellInput.Row; i++)
                {
                    for (int j = 1; j <= (int)countCellInput.Column; j++)
                    {
                        ObjWorkSheetOutput.Cells[i, j].Value = ObjWorkSheetInput.Cells[i, j].Value;
                        if (j < 3)
                            ObjWorkSheetOutput.Cells[i + 3, j].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;
                        else ObjWorkSheetOutput.Cells[i + 3, j].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight;
                    }
                    ObjWorkSheetOutput.Columns.AutoFit();
                    Invoke((Action)delegate { progressBarLoadingExcelFile.Value = i; });
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка загрузки данных Promotioanal Sales.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Invoke((Action)delegate
                {
                    foreach (var c in Controls)
                        if (c is Button)
                            ((Button)c).Enabled = true;
                });
            }
            finally
            {
                if (ObjWorkExcelInput != null && ObjWorkExcelOutput != null)
                {
                    ObjWorkBookInput.Close(false, Type.Missing, Type.Missing);
                    ObjWorkExcelInput.Quit(); GC.Collect();
                    Invoke((Action)delegate
                    {
                        progressBarLoadingExcelFile.Visible = false;
                        progressBarLoadingExcelFile.Value = 0;
                        labelStatus.Text = null;
                    });
                    LoadDataMarginShipped(ObjWorkExcelOutput, ObjWorkBookOutput);
                }
            }
        }
        #endregion

forundex.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о