Измените лист Excel от Matlab

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

Node.js будет искать только поле main в package.json, чтобы найти модуль, поэтому вы должны указать путь к build/test-node.j. Разработчики, которые связывают код браузера (например, Webpack, Rollup), сначала дополнительно посмотрят на поле browser (если target: web), где вы должны указать путь к вашему build/test-web.j. Итак, ваш package.json должен выглядеть так:

{
    ...
    "main": "build/test-node.j",
    "browser": "build/test-web.j",
    ...
}

7
задан Miyagi Coder 17 January 2011 в 19:03
поделиться

5 ответов

Необходимо смочь сделать это через COM/ActiveX/Automation. Посмотрите на Внешний документ Интерфейсов; существует пример для того, как получить доступ к документам Excel через интерфейсы Автоматизации Excel.

У меня есть опыт next-to-no при управлении Excel этим способом, но я знаю, что можно сделать примерно, что-либо в Excel посредством Автоматизации и редактирующий формулы ячейки не звучит как это трудно.

править: Я не могу найти ссылку на объектную модель Excel, но здесь являюсь другим примером: http://support.microsoft.com/kb/301982

5
ответ дан 6 December 2019 в 21:20
поделиться

Используйте COM/ActiveX. Можно открыть экземпляр Excel через следующую команду:

xlApp = COM.Excel.Application;

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

Не забудьте закрывать Excel с

xlApp.Quit;
delete(xlApp);

На ноте стороны так называемый CSE (Control-Shift-Enter) формулы могут помочь? Google See.

2
ответ дан 6 December 2019 в 21:20
поделиться

Это не ужасно изящное решение, но если Вы сохраняете новое .xls электронная таблица это - просто разграниченный вкладкой (или CSV) файл, Вы можете сделать, чтобы Matlab генерировал формулы и когда Excel откроет документ, значения заполнят.

В Perl я обработал его что-то вроде этого:

open(OUTPUT,'>tmpfile.xls');
print OUTPUT "1\t2\t=A1+B1\n";
close(OUTPUT);

И когда tmpfile.xls открыт в Excel, ячейке C1 отобразится как 3, который динамично обновит соответственно если A1 или B1 изменяются.

(Я не хорош с Matlab, таким образом, я не знаю о любом виде плагинов),

2
ответ дан 6 December 2019 в 21:20
поделиться

Править: Мое предыдущее предположение, что XLSWRITE не работал бы, было неправильным. Я просто попробовал следующее в MATLAB:

xlswrite('xltest.xls',{'1' '2' '=SUM(A1,B1)'});

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

К сожалению, я не полагаю, что XLSREAD может считать формулы в MATLAB (это, кажется, просто получает результат).

РАНЕЕ ПРЕДЛОЖЕННЫЕ ОПЦИИ:

Можно хотеть проверить программное обеспечение Link EX электронной таблицы на веб-сайт MathWorks, хотя я немного незнаком с ним и не уверен, если даже, который может сделать то, в чем Вы нуждаетесь. Что-то еще, что необходимо изучить, является Разработчиком MATLAB EX, который "позволяет Вам интегрировать приложения MATLAB® в рабочие книги Excel® своей организации, поскольку макрос функционирует или дополнения". Обещание звуков...

2
ответ дан 6 December 2019 в 21:20
поделиться

В качестве альтернативы см. Приведенный ниже код (xlswrite) для использования ActiveX из Matlab:

http://www.mathworks.com/matlabcentral/fileexchange/2855

1
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: