Как Excel «сохраняет» файлы по HTTP? - PullRequest
1 голос
/ 15 ноября 2011

У меня есть приложение, которое работает на сервере под управлением Solaris. Это приложение экспортирует некоторые редактируемые данные конфигурации в формате CSV. Предпочтительным способом редактирования данных является использование Microsoft Excel. Из-за различий в платформах текущий рабочий процесс состоит из следующих шагов:

  1. сброс данных в файл CSV на сервере
  2. ftp / sftp / scp файл на машине с Windows
  3. редактировать данные в Windows в Excel
  4. ftp / sftp / scp файл обратно на серверную коробку
  5. импорт данных на сервер

Я ищу способ упростить рабочий процесс и, возможно, сделать все из Excel. Я знаю, что мог бы создать полноценный веб-сервер с поддержкой CGI для взаимодействия между HTTP на одном конце и сценариями экспорта / импорта на сервере. Или я мог бы запустить внутрипроцессный веб-сервер, который бы обслуживал данные конфигурации, как если бы это был файл, а затем он мог взять данные из Excel и обработать их.

Моя сложность заключается в том, что я не знаю, как именно Excel возвращает файл обратно, если он был открыт по HTTP. Это так же просто, как метод POST с некоторыми аргументами? Или мне нужно поддерживать полный набор методов WebDAV для приема ввода из Excel?

Спасибо, / Сергей

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

В Windows есть API для загрузки файлов (URLDownloadToFile), если вы укажете URL.Вы можете написать макрос VBA, который загружает файл, вносит изменения, а затем передает файл (через FTP) обратно на сервер.

Для справки:

1 голос
/ 16 ноября 2011

Конечно, один очень хороший подход без программирования - это WebDAV.

WebDav в основном работает на уровне файлов.Поэтому, если вы хотите манипулировать двоичным файлом .xls или .xls, вам понадобится что-то на обоих хостах, которое понимает формат .xls / .xlsx (например, MS Excel; -)).

В противном случаеВозможно, вы могли бы «импортировать» и «экспортировать» данные в и из Excel как .csv и использовать WebDev для обмена файлами .csv (вместо «оригинальных» .xls / .xlsx файлов).

Есть много вариантов

...