Работа с файлами Excel в каркасах веб-приложений, таких как Seaside - PullRequest
4 голосов
/ 24 января 2010

Я читал о побережье, и мне нравится его звучание, но я не вижу простого способа обработки файлов данных, в первую очередь импорта Excel. Конечно, CSV-файлы были бы более простыми, но есть ли способы импортировать различные форматы Excel (xls, xlsx) без написания собственных процедур анализа файлов?

Я слышал, что необходимость открывать файлы Excel была бы хорошей причиной для выбора системы на основе Windows, такой как .NET, как вы думаете, ребята?

Ответы [ 3 ]

3 голосов
/ 01 февраля 2010

Просто ответ на вторую часть вашего вопроса: нет, это не веская причина. Вы определенно не хотите запускать Office как серверный процесс (я никогда не пробовал с OpenOffice, но это должно работать несколько лучше). Это нестабильно, и есть проблемы с лицензией, о которых вы должны знать.

3 голосов
/ 24 января 2010

Существуют различные реализации Smalltalk, которые поддерживают Seaside и отлично интегрируются в платформу Windows: Dolphin Smalltalk , VA Smalltalk и Cincom Smalltalk . Я предполагаю, что можно вызвать Excel с любым из них.

Существуют различные инструменты командной строки , которые можно вызывать для преобразования файла XLS во что-то, что вы можете легко проанализировать (например, CSV).

Тем не менее, я думаю, что наиболее элегантное решение (также с точки зрения конечного пользователя) - это Magic / Replace .

1 голос
/ 24 января 2010

Я работал над приложением Seaside, которое читало и писало листы Excel для Linux. Вот что я сделал ...

  • Во-первых, я запустил OpenOffice в фоновом режиме и преобразовал все офисные файлы в формат OpenDocument,
  • и затем я импортировал это в Squeak, используя некоторый код от Такаши Ямамия . Предупреждение: к тому времени, когда я использовал его, импорт и экспорт Excel не работали вообще, мне потребовался день и немного взлома, чтобы все заработало, но потом все прошло хорошо (Нико, почему нет? Вы отправляете изменения обратно в сеть? Ну, вы видите ... эх, я забыл. А теперь они где-то хорошо спрятаны на моем диске, и мне не хочется искать.)

И это все. Это не было даже медленно, просто убедитесь, что OOo постоянно работает в фоновом режиме.

...