Connected by... logo
  Главная
Market Connected by Velcom Connected by МТС Connected by БелСел Connected by Белтелеком Оборудование  

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

1.1 Импорт данных из Excel в Mathcad

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

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

    Кроме простого копирования и вставки данных, в Mathcad существуют специальные инструменты, позволяющие работать с данными Excel и других программ. Один из таких инструментов – функция READFILE. Механизм действия этой функции отображен на рисунке 1.

    Рис.1 Функция READFILE

    Сверху показана часть документа excel.xls, содержащая нужные данные. Снизу – часть документа Mathcad с импортированными данными. Переменной A присваивается значение функции READFILE. Первым аргументом функции READFILE является путь к файлу с данными; второй аргумент – тип импортируемых данных, в нашем случае "Excel"; третий аргумент – диапазон строк импортируемых данных, причем, если указать просто некоторое число, то импортироваться будут все строки, начиная с номера, соответствующего указанному числу; четвертый аргумент – диапазон столбцов. У функции READFILE есть еще два аргумента, colwidths и emptyfill, которые в нашем случае были опущены, – подробнее о них можно прочитать в справочной системе Mathcad.

    Следующий инструмент импортирования вызывается через меню Insert -> Data -> Table. Создается простейшая таблица 2 x 2. Для того чтобы импортировать данные, нужно кликнуть по верхней левой ячейке правой кнопкой мыши и выбрать в контекстном меню пункт "Import". Далее, с помощью кнопки "Browse" выбрать нужный файл Excel, нажать "Далее", затем выбрать нужный диапазон ячеек и нажать "Готово". Импортированные данные опять же нужно присвоить некоторой переменной.

    Похожим способом информация импортируется с помощью Insert -> Data -> File Input. Отличие от предыдущего способа заключается в том, что изменение импортированных данных в изначальном документе Excel будет отражаться и при пересчете листа Mathcad. Функция READFILE также реагирует на обновление изначальных данных. Если же используется инструмент Insert -> Data -> Table, то данные импортируются один раз и затем не обновляются. Также есть отличия в отображении данных с помощью File Input, но в целом они не существенны.

    Наконец, Insert -> Data -> Data Import Wizard сочетает в себе особенности предыдущих двух способов, только сам процесс импортирования представляется более наглядным.

    Важным инструментом обмена данными с Excel является использование компонентов. Вызывается этот инструмент в меню Insert -> Component. В окне "Component Wizard" выбираем "Microsoft Excel", затем так как данные нужно импортировать, то выбираем с помощью кнопки "Browse" нужный файл. На следующем этапе в разделах "Inputs" и "Outputs" нужно определить количество входных и выходных переменных и диапазон ячеек, которому эти переменные будут соответствовать. Посмотрим, как работает компонент Excel с помощью рисунка 2.

    Рис.1 Использование компонента Excel

    На рисунке 2 массив A – матрица, импортированная в Mathcad из файла excel.xls с помощью функции READFILE. B – матрица, введенная уже в Mathcad, C – сумма этих матриц. Далее создавался компонент Excel из файла excel.xls. Определялась одна входная переменная С, которой устанавливалось соответствие с ячейкой B1 (для входной переменной можно указывать только левую верхнюю ячейку). Выходная переменная S соответствует ячейке B10, в которой вычисляется сумма ячеек B1:B9 (сумма значений матрицы C).

    1.2 Экспорт данных из Mathcad в Excel

    Экспортировать данные из Mathcad в Excel, во-первых, как и в случае с импортированием, можно простым копированием и вставкой матрицы значений в Excel. Также более удобно экспортировать данные таким образом, если использовать компонент Excel, где информация представляется в таком же виде, как и в MS Excel.

    Теоретически можно использовать функции WRITEFILE и APPENDFILE. Их вид следующий: WRITEFILE / APPENDFILE(C,"E:\output.xls","Excel"), где C – имя нужной матрицы Mathcad. К сожалению, несмотря на описание этих функций в справочной системе Mathcad, они отказываются работать, по крайней мере, при использовании Mathcad 14 / MS Excel 2003. Тем не менее, в случае с Excel-файлами, работают и более распространенные функции WRITEPRN и APPENDPRN. Применяются они следующим образом:

    Out:=WRITEPRN / APPENDPRN("E:\output.xls",C), где "Out" – некоторая переменная, C – матрица с экспортируемыми данными. Эти функции могут использоваться и по-другому:

    WRITEPRN / APPENDPRN("E:\output.xls"):=C

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

    Также можно использовать инструмент Insert -> Data -> File Output. В целом, его механизм почти не отличается от рассмотренных ранее инструментов импорта и экспорта данных: сначала нужно выбрать файл для экспорта, затем номера строки и столбца, начиная с которых будут записываться данные, и, наконец, переменную, содержащую экспортируемую информацию.

    Выполнил Зарецкий Александр