Teres-1t.ru

Инженерные решения
7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать электронную таблицу посещаемости в Excel — Вокруг-Дом — 2021

кредит: Скриншот любезно предоставлен Microsoft.

Введите список участников в первый столбец нового листа Excel, начиная с ячейки. A3.

кредит: Скриншот любезно предоставлен Microsoft.

При необходимости введите заново имя с фамилией first в ячейку B3. Повторите второе имя в том же порядке в ячейке B4.

кредит: Скриншот любезно предоставлен Microsoft.

Выделить клетки B3 а также B4 перетаскивая курсор на них, а затем нажмите Главная Вкладка. Нажмите на заполнить значок в разделе редактирования ленты и выберите Flash Fill из выпадающего меню. Excel автоматически заполняет остальную часть столбца B именами, каждое с фамилией в начале. Щелкните правой кнопкой мыши заголовок первого столбца и выберите удалять.

кредит: Скриншот любезно предоставлен Microsoft.

Выделите все имена теперь в столбце А. Нажмите Данные меню, а затем нажмите Сортировка от А до Я значок. Все имена теперь отображаются в алфавитном порядке на основе фамилий.

Открыть, используя Excel

Зачастую, система с самого момента загрузки распознаёт данный тип файлов, как относящийся к Exel, и помечает его соответствующим значком.

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

В таком случае, следует проверить, установлен ли на вашем компьютере Exel, и инсталлировать его в случае отсутствия. Если данный компонент есть, а проблема не пропадает необходимо вручную выбрать её для открытия такого типа файлов.

Делается это следующим образом:

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

Щелкаем по файлу xlsx правой кнопкой мышки, наводим курсор на пункт «Открыть с помощью»

Выбираем из списка программу Майкрософт Эксель и щелкаем по ней

Если рекомендуемых программ нет, щелкаем по ссылке «Выбрать программу»

Ставим галочку на пункт «Использовать это приложение для всех файлов .xlsx», щелкаем по нужной программе

Если нет рекомендуемых программ, щелкаем по ссылке «Дополнительно»

Ищем подходящую программу и щелкаем по ней, ставим галочку на пункт «Использовать это приложение для всех файлов .xlsx»

Примечание! Важно не забыть поставить галочку внизу, перед опцией применения ко всем подобным файлам.

Готово! Теперь таблицы будут открываться без проблем.

Ответ 1

Вы можете использовать библиотеку под названием ExcelLibrary. Это бесплатная библиотека с открытым исходным кодом, размещенная в Google Code:

Это выглядит как порт PHP ExcelWriter, который вы упомянули выше. Он пока не будет писать в новый формат .xlsx, но они работают над добавлением этой функциональности в.

Это очень просто, маленький и простой в использовании. Кроме того, он имеет DataSetHelper, который позволяет вам использовать DataSets и DataTables для удобной работы с данными Excel.

ExcelLibrary, кажется, все еще работает только для более старого формата Excel (файлы .xls), но может добавить поддержку в будущем для новых форматов 2007/2010.

Вы также можете использовать EPPlus, который работает только для файлов формата Excel 2007/2010 (файлы .xlsx). Там также NPOI, который работает с обоими.

Есть несколько известных ошибок с каждой библиотекой, как отмечено в комментариях. В целом, EPPlus кажется лучшим выбором с течением времени. Похоже, что он более активно обновляется и документируется.

Кроме того, как отмечает @АртёмЦарионов ниже, EPPlus имеет поддержку сводных таблиц, а ExcelLibrary может иметь некоторую поддержку (проблема сводных таблиц в ExcelLibrary)

Вот пример кода для ExcelLibrary:

Вот пример получения данных из базы данных и создания из нее рабочей книги. Обратите внимание, что код ExcelLibrary — это одна строка внизу:

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

Ответ 2

Если вы довольны форматом xlsx, попробуйте мой проект GitHub, EPPlus. Все началось с исходного кода из ExcelPackage, но сегодня это полное переписывание. Он поддерживает диапазоны, стилизацию ячеек, диаграммы, фигуры, изображения, именованные диапазоны, автофильтр и многое другое.

Ответ 3

Я успешно использовал следующие проекты с открытым исходным кодом:

ExcelPackage для форматов OOXML (Office 2007)

NPOI для формата .XLS(Office 2003). NPOI 2.0 (бета-версия) также поддерживает XLSX.

Посмотрите на мои сообщения в блоге:

Ответ 4

А как насчет использования Open XML SDK 2.0 для Microsoft Office?

  • Не требует установленного Office
  • Сделано в Microsoft = достойная документация MSDN
  • Всего одна .Net dll для использования в проекте
  • SDK поставляется со многими инструментами, такими как diff, validator и т.д.

Ответ 5

Вы можете использовать OLEDB для создания и обработки файлов Excel. Проверьте это: Чтение и запись Excel с помощью OLEDB.

Читайте так же:
Документы для установки общедомовых счетчиков

EDIT — Еще несколько ссылок:

  • Эй, сценарист!Как я могу читать из Excel без использования Excel?
  • Как использовать ADO.NET для извлечения и изменения записей в книге Excel с помощью Visual Basic.NET
  • Чтение и запись таблиц Excel с использованием ADO.NET С# DbProviderFactory

Ответ 6

Коммерческое решение, SpreadsheetGear для .NET сделает это.

Вы можете увидеть живые образцы ASP.NET (С# и VB) здесь и скачать ознакомительную версию здесь.

Отказ от ответственности: я владею SpreadsheetGear LLC

Ответ 7

Несколько вариантов, которые я использовал:

Если XLSX является обязательным: ExcelPackage — хороший старт, но он умер, когда разработчик прекратил работать над ним. ExML поднялся оттуда и добавил несколько функций. ExML не является плохим вариантом, я все еще использую его на нескольких веб-сайтах.

Тем не менее, для всех моих новых проектов я использую NPOI, порт.NET Apache POI. NPOI 2.0 (Alpha) также поддерживает XLSX.

Ответ 8

Очень легкая опция может заключаться в использовании таблиц HTML. Просто создайте теги head, body и table в файле и сохраните его как файл с расширением .xls. Существуют специальные атрибуты Microsoft, которые можно использовать для создания вывода, включая формулы.

Я понимаю, что вы не можете кодировать это в веб-приложении, но вот пример композиции файла Excel через HTML-таблица. Этот метод можно использовать, если вы кодировали консольное приложение, настольное приложение или службу.

Ответ 9

Вы можете использовать ExcelXmlWriter.

Ответ 10

Если вы создаете файлы Excel 2007/2010, попробуйте этот проект с открытым исходным кодом: https://github.com/closedxml/closedxml

Он обеспечивает объектно-ориентированный способ манипулирования файлами (аналогично VBA), не имея дело с проблемами XML-документов. Он может использоваться любым языком.NET, таким как С# и Visual Basic (VB).

ClosedXML позволяет создавать файлы Excel 2007/2010 без приложения Excel. Типичным примером является создание отчетов Excel на веб-сервере:

Ответ 11

Возможно, вы захотите проверить классы взаимодействия. Вы говорите, нет OLE (что это не так), но классы взаимодействия очень просты в использовании.

Вы можете быть впечатлены, если не попробовали их.

Пожалуйста, обратите внимание на позицию Microsoft по этому вопросу:

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых необслуживаемых, неинтерактивных клиентских приложений или компонентов (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может работать нестабильно и/или или тупик, когда Office работает в этой среде.

Ответ 12

Здесь полностью бесплатная библиотека С#, которая позволяет экспортировать из DataSet , DataTable или List<> в подлинный файл Excel.xlsx Excel 2007. Использование библиотек OpenXML:

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

После добавления этого класса в приложение вы можете экспортировать свой DataSet в Excel только в одной строке кода:

Это не намного проще, чем это.

И это даже не требует наличия Excel на вашем сервере.

Ответ 13

Вы можете рассмотреть возможность создания ваших файлов в формате XML Spreadsheet 2003. Это простой формат XML с использованием хорошо документированной схемы.

Ответ 14

У них есть бесплатная версия со всеми функциями, но не более 150 строк на листе и 5 листов на книгу, если это соответствует вашим потребностям.

Мне еще не приходилось пользоваться им, но выглядит интересно.

Ответ 15

Syncfusion Essential XlsIO может сделать это. Он не зависит от Microsoft Office, а также имеет специальную поддержку для различных платформ.

  • ASP.NET
  • ASP.NET MVC
  • UWP
  • Xamarin
  • WPF и Windows Forms
  • Служба Windows и пакетные операции

Весь набор средств управления предоставляется бесплатно через программу лицензий сообщества, если вы соответствуете требованиям (доход менее 1 миллиона долларов США). Примечание: я работаю на Syncfusion.

Ответ 16

Доступны различные библиотеки Office 2003 XML для небольших файлов Excel. Тем не менее, я считаю большой размер большой рабочей книги, сохраненной в формате XML, проблемой. Например, рабочая книга, с которой я работаю, будет иметь размер 40 МБ в новом (и, по общему мнению, более плотно упакованном) формате XLSX и станет файлом XML размером 360 МБ.

Насколько мне показало мое исследование, есть два коммерческих пакета, которые позволяют выводить файлы в более старые двоичные форматы. Они:

Читайте так же:
Механический счетчик оборотов производители

Ни один не дешев (500 долларов США и 800 долларов США соответственно, я думаю). но оба работают независимо от самого Excel.

Что мне было бы интересно, так это модуль вывода в Excel для OpenOffice.org. Интересно, можно ли их портировать с Java на .Net.

Ответ 17

вы также можете использовать стороннюю библиотеку, например Aspose.

Эта библиотека имеет то преимущество, что на вашем компьютере не будет установлен Excel, который был бы идеальным в вашем случае.

Ответ 18

OpenXML также является хорошей альтернативой, которая помогает избежать установки MS Excel на сервере. Open XML SDK 2.0, предоставляемый Microsoft, упрощает задачу управления пакетами Open XML и базовыми элементами схемы Open XML в пакете. Интерфейс прикладного программирования Open XML (API) инкапсулирует многие общие задачи, которые разработчики выполняют в пакетах Open XML.

Ответ 19

Я согласен с созданием XML-таблиц, вот пример того, как это сделать для С# 3 (все просто блоги об этом в VB 9: P) http://www.aaron-powell.com/linq-to-xml-to-excel

Ответ 20

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

Это коммерческий продукт, но вы получите полный исходный код, если купите его. Итак, я полагаю, вы могли бы скомпилировать его в свою сборку, если бы вы действительно этого хотели. В противном случае это всего лишь одна дополнительная сборка для xcopy — без настройки, установки или чего-либо подобного.

Я не думаю, что вы найдете какой-либо способ сделать это без сторонних библиотек, так как .NET Framework, очевидно, не имеет встроенной поддержки для него, а OLE Automation — это целый мир боли.

Ответ 21

Просто хочу добавить другую ссылку на стороннее решение, которое напрямую решает вашу проблему: http://www.officewriter.com

(Отказ от ответственности: я работаю для SoftArtisans, компании, которая делает OfficeWriter)

Ответ 22

Я написал простой код для экспорта набора данных в Excel без использования объекта Excel с помощью System.IO.StreamWriter.

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

Ответ 23

Или вы могли бы использовать Interop.

Ответ 24

Здесь можно сделать это с LINQ to XML, в комплекте с образцом кода:

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

(Также, конечно, это VB.NET, а не С#, но вы всегда можете изолировать материал VB.NET в своем собственном проекте, чтобы использовать XML-литералы и делать все остальное на С#.)

Ответ 25

Вы можете создавать красиво отформатированные файлы Excel с помощью этой библиотеки: http://officehelper.codeplex.com/documentation
Пример ниже:

где образец выглядит следующим образом:

Ответ 26

Некоторые сторонние поставщики компонентов, такие как Infragistics или Syncfusion, обеспечивают очень хорошие возможности экспорта Excel, которые не требуют установки Microsoft Excel.

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

Если ваш экспорт предназначен для выполнения на стороне сервера с акцентом на экспортируемые данные и без ссылки на пользовательский интерфейс, я бы воспользовался одним из бесплатных вариантов с открытым исходным кодом (например, ExcelLibrary).

Ранее я участвовал в проектах, которые пытались использовать автоматизацию на стороне сервера в пакете Microsoft Office. Исходя из этого опыта, я бы настоятельно рекомендовал против такого подхода.

Ответ 27

Привет, это решение заключается в том, чтобы экспортировать вид сетки в ваш файл excel, который может помочь вам

Ответ 28

Самый простой и быстрый способ создания файла Excel из С# — использовать инструмент производительности Open XML. Инструмент производительности Open XML поставляется с установкой Open XML SDK. Инструмент реверсирует любой файл Excel в код С#. Затем код С# можно использовать для повторного создания этого файла.

  1. Установите SDK Open XML с помощью инструмента.
  2. Создайте файл Excel, используя последний клиент Excel с желаемым внешним видом. Назовите его DesiredLook.xlsx .
  3. С помощью инструмента откройте DesiredLook.xlsx и нажмите кнопку Reflect Code рядом с верхней. enter image description here
  4. Код С# для вашего файла будет создан в правой панели инструмента. Добавьте это в свое решение С# и создайте файлы с этим желаемым внешним видом.
Читайте так же:
Счетчик 3 4 для fleck

В качестве бонуса этот метод работает для любых файлов Word и PowerPoint. Будучи разработчиком С#, вы вносите изменения в код в соответствии с вашими потребностями.

Я разработал простое приложение WPF для github, которое будет работать в Windows для этой цели. Существует класс-заполнитель под названием GeneratedClass который вы можете вставить сгенерированный код. Если вы вернетесь к одной версии файла, она будет генерировать файл excel следующим образом:

enter image description here

Ответ 29

Некоторая полезная автоматизация Excel в С#, вы можете найти по следующей ссылке.

Чем открыть XLS?

Если вы не смогли открыть файл двойным нажатием на него, то вам следует скачать и установить одну из программ представленных ниже, либо назначить программой по-умолчанию, уже установленную (изменить ассоциации файлов). Наиболее популярным программным обеспечением для даного формата является программа Яндекс Браузер (для ОС Windows) и программа Microsoft Excel for Mac (для ОС Mac) — данные программы гарантированно открывают эти файлы. Ниже вы найдете полный каталог программ, открывающих формат XLS для операционной системы Windows, Mac, Linux, Web, iOS, Android.

Программы для открытия XLS файлов

Чем открыть XLS в Windows?
Mac
Linux
Web
iOS
Android

Общее описание расширения

Файл XLS является электронной таблицей, которая была создана при помощи распространенной системной утилиты Microsoft Excel, представляющей из себя, мощное средство для создания и редактирования электронных таблиц. Подобное расширение файла, входило в ряд наиболее популярных форматов для хранения таблиц.

Что еще может вызывать проблемы с файлом?

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт «Открыть с помощью», а выпадающем меню выбрать пункт «Выбрать программу. «. В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта «Использовать это приложение для всех файлов XLS».

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: «Файл filetype:XLS». Просто замените слово «файл» на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

Знаете другие программы, которые могут открыть XLS? Не смогли разобраться как открыть файл? Пишите в комментариях — мы дополним статью и ответим на ваши вопросы.

  • Видео форматы
  • Аудио форматы
  • Электронные книги
  • Текстовые форматы
  • Дисковые образы
  • Табличные данные
  • Растровые изображения
  • Векторные изображения
  • Резервное копирование
  • Raw
  • Сжатые файлы
  • Файлы данных
  • Базы
  • 3D Изображения
  • CAD файлы
  • Файлы разработчиков
  • Зашифрованные файлы
  • Исполняемые форматы
  • Шрифты
  • Файлы игр
  • GIS, карты
  • Другие расширения
  • Форматы макетов
  • Форматы плагинов
  • Файлы настроек
  • Системные файлы
  • Веб форматы

Другое

Другое в надстройке

Макрос составления частотного словаря и макрос генерации линейных комбинаций списков уже были в прежней версии.

Из новшеств для надстройки:

Перенесен из моего знакомого многим файла «Робот-распознаватель» макрос лемматизации по словарю. Это одно из немногих решений в открытом доступе, которое позволяет лемматизировать десятки и сотни тысяч фраз в считанные секунды. К сожалению, словарь лемматизации, как и словарь топонимов, тоже подгружается извне, так как весит 22 МБ и далеко не всегда может быть нужен. Подгружаемые данные открываются в отдельной книге.

Макрос «Развернуть кроссминусовку» преобразовывает однострочную минусовку в формате Яндекс.Директа в формат Google AdWords.

Макрос «Собрать столбцы» найден где-то в рунете. Замечательный скрипт, который собирает все данные на листе в один столбец в один клик. Иногда бывает очень необходимо.

Читайте так же:
Импульс от счетчика arduino

Макрос переноса любого файла выгрузки Директа в формат AdWords, будь то XLS, XLSX или CSV. Вместе с кроссминусовкой на уровне кампаний и ключевых фраз.

Читайте также

Создание, открытие и сохранение веб-страниц

Создание, открытие и сохранение веб-страниц С помощью программы вы можете создавать новые веб-страницы, а также редактировать созданные ранее.Чтобы создать новую веб-страницу, нужно выполнить команду главного меню Файл ?

Создание, открытие и сохранение документов

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

Создание и открытие файла

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

6.2.5. Сохранение документов в формате Excel

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

2.3. Создание и открытие каналов IPC

2.3. Создание и открытие каналов IPC Все три функции, используемые для создания или открытия объектов IPC: mq_open, sem_open и shm_open, — принимают специальный флаг oflag в качестве второго аргумента. Он определяет параметры открытия запрашиваемого объекта аналогично второму аргументу

3.4. Создание и открытие каналов IPC

3.4. Создание и открытие каналов IPC Три функции getXXX, используемые для создания или открытия объектов IPC (табл. 3.1), принимают ключ IPC (типа key_t) в качестве одного из аргументов и возвращают целочисленный идентификатор. Этот идентификатор отличается от того, который

Глава 10 Создание графики в Excel

Глава 10 Создание графики в Excel В предыдущей главе мы рассмотрели работу с графическими изображениями, добавляемыми на лист книги Excel. В программе Excel, как и в некоторых других приложениях пакета Microsoft Office, предусмотрено также создание простых графических изображений

Сохранение данных в Excel

Сохранение данных в Excel Пользователи Word знают: мало создать текст, который отображается на мониторе. Его еще надо сохранить на жестком диске компьютера, чтобы после выхода из программы он не пропал. Это же касается и Excel.Для того чтобы сохранить вашу работу, выберите в меню

Создание, сохранение и открытие проекта

Создание, сохранение и открытие проекта Создать новый файл проекта можно с помощью одного из следующих действий: Рис. 1.2. Рабочая среда программы ArchiCAD? нажать кнопку расположенную на панели инструментов Standard (Стандартная);? выполнить команду File ? New (Файл ? Создать) меню

Создание и открытие

Создание и открытие Создание и открытие проекта аналогичны таким же действиям в любой программе, работающей с сохраняемыми на диск документами, например с текстовым редактором (Блокнот, Microsoft Word).Если в параметрах проектов не установлен флажок Авт. сохранять и загружать

Открытие и создание файлов

Открытие и создание файлов После создания объекта класса CFile можно открыть файл, вызвав метод Open. Методу Open надо указать путь к открываемому файлу и режим его использования. Прототип метода Open имеет следующий вид:virtual BOOL Open(LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL);В качестве

Открытие, сохранение документа

Открытие, сохранение документа Сохранение документа происходит на панели инструментов интерактивного режима:1. Выбрать инструмент Меню InterWrite (см. табл. П3.2), пункт меню Файл, подпункт Сохранить.2. В появившемся окне выбрать диск, папку, указать имя файла.3. Подтвердить все

Открытие, сохранение документа

Открытие, сохранение документа Сохранение документа происходит на Основной панели инструментов:1. Выбрать инструмент Главное меню (см. табл. П4.3), пункт меню Флипчарт, подпункт Сохранить в, указать папку (Мои флипчарты…; Общие флипчарты… или другую папку).2. В появившемся

5.1. Запуск редактора, создание, открытие и сохранение документов

5.1. Запуск редактора, создание, открытие и сохранение документов Текстовый редактор Microsoft Word предназначен для создания и обработки любых текстовых документов от простой записки до оригинал-макета сложного издания. Работа с текстовым редактором во многом напоминает

Читайте так же:
Счетчик энергии для солнечных батарей

Чтение данных из файла Excel с помощью PowerShell

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

Для начала немного теории.

Excel представляет из себя иерархическую структуру, состоящую из нескольких уровней (layers). Первым, верхним уровнем является приложение (Application). В приложении содержится одна или несколько книг (WorkBooks). Каждая книга состоит из одного или нескольких листов (Worksheets), а внутри каждого листа находится диапазон ячеек (Range), в которых расположены данные.

уровни Excel

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

Перейдем к практике. Для примера возьмем типичный файл со списком сотрудников и с помощью PowerShell разберем его на уровни.

исходный файл

Application

PowerShell не умеет напрямую работать с файлом, поэтому первое, что нам надо сделать — это запустить само приложение Excel. Для запуска приложения создаем COM-объект и помещаем его в переменную:

$Excel = New-Object -ComObject Excel.Application

запуск приложения excel

Если посмотреть свойства полученного объекта, то можно найти много интересного. К примеру так мы можем узнать подробные данные о версии приложения:

$Excel | fl value, version, build, path

свойства приложения

а так посмотреть свойства окна:

$Excel | fl visible, windowstate

свойства окна

Кстати, свойство Visible отвечает за видимость приложения. По умолчанию Excel открывается в фоне, но можно сделать его видимым с помощью команды:

Вот собственно как выглядит уровень приложения. Чистый, ничем не замутненный Excel

приложение

WorkBook

Следующим шагом будет открытие книги (workbook), т.е. файла, с которой мы будем работать. Для этого выполним команду:

открытие документа

Убедимся, что открыли нужный файл, проверим имя, путь и автора:

$WorkBook | fl Name, Path, Author

свойства документа

WorkSheet

Каждая книга состоит из одного или нескольких листов (worksheets). Вывести список имеющихся листов можно командой:

$WorkBook | fl Name, Index

страницы документа

Обращаться к листу можно как по имени, так и по индексу. Выберем лист с именем «Финансы»:

открытие страницы

Посмотреть, какой лист выбран, можно командой:

$WorkBook.ActiveSheet | fl Name, Index

активный лист

Ну а в приложении это выглядит так.

выбор листа

Range

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

выбор ячейки

Каждая ячейка имеет свои координаты, по которым ее можно найти. При этом для доступа есть несколько различных способов. Например если использовать диапазон (Range), то в качестве координат указываем имя столбца и номер строки:

Чтобы не попасть на пустую ячейку, можно ограничить диапазон только занятыми ячейками (UsedRange):

Можно обращаться к самой ячейке (cell) по номеру строки и столбца, например так:

Можно отдельно указать столбец (column) и строку (row):

получение содержимого ячейки

Ну и немного о том, как обрабатывать полученные данные. Один из способов — это создать объект типа PSObject:

$user = New-Object -TypeName PSObject

и извлеченные из ячеек данные добавлять как свойства объекта:

$user | Add-Member -Name $WorkSheet.UsedRange.Cells(1,1).Text -Value $WorkSheet.UsedRange.Cells(2,1).Text -MemberType NoteProperty
$user | Add-Member -Name $WorkSheet.UsedRange.Cells(1,2).Text -Value $WorkSheet.UsedRange.Cells(2,2).Text -MemberType NoteProperty
$user | Add-Member -Name $WorkSheet.UsedRange.Cells(1,3).Text -Value $WorkSheet.UsedRange.Cells(2,3).Text -MemberType NoteProperty

Это очень удобно, поскольку позволяет при необходимости извлекать нужные свойства объекта, например имя:

сохранение полученных данных в объект

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

$file = «D:Excelusers.xlsx»;
$SheetName = «Финансы»;

$Excel = New-Object -ComObject Excel.Application;
$Workbook = $Excel.workbooks.open($file);
$Worksheets = $Workbooks.worksheets;
$WorkSheet = $WorkBook.sheets.item($SheetName);

$MaxRows = ($WorkSheet.UsedRange.Rows).count;
$MaxColumns = ($WorkSheet.UsedRange.Columns).count;
$users=@();

for ($row = 2; $row -le $MaxRows; $row++) <

$user = New-Object -TypeName PSObject;

for ($col = 1; $col -lt $MaxColumns; $col++) <

$user | Add-Member -Name $WorkSheet.UsedRange.Cells(1,$col).Text -Value $WorkSheet.UsedRange.Cells($row,$col).Text -MemberType NoteProperty;

Запускаем скрипт и получаем вот такую картину.

выгрузка содержимого файла в массив

На этом все. В следующий раз рассмотрим способы создания и редактирования Excel файлов.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector