Программный ввод данных в стиле слияния в существующие таблицы Excel? - PullRequest
4 голосов
/ 18 декабря 2008

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

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

Я рассмотрел xlwt и xlrd для python, а также jexcelapi и POI-HSSF для Java. Кажется, они могут работать, но, учитывая, что я просто хочу поместить значения в определенные ячейки, они кажутся излишними. Я также беспокоюсь о перезаписи электронной таблицы пользователя после обработки; похоже на возможность вносить ошибки в процесс.

Есть ли способ заставить Excel объединить данные из одного листа в другой? Я думаю, что мог бы создать простую электронную таблицу, содержащую только данные, и каким-то образом заставить Excel объединить ее с существующей электронной таблицей пользователя.

Имеет смысл? Лучше подходит?

Ответы [ 3 ]

2 голосов
/ 18 декабря 2008

jXLS, возможно, вариант. Вы определяете файл XLS как шаблон, а затем объединяете свои данные.

Быстрый обзор здесь

http://jxls.sourceforge.net/

1 голос
/ 18 декабря 2008

WinHttpRequest (http://msdn.microsoft.com/en-us/library/aa384045(VS.85).aspx) может подойти, вы можете использовать документ и т. Д. Вот фрагмент из ссылки.

Dim HttpReq As Object

' Create the WinHTTPRequest ActiveX Object.'
Set HttpReq = New WinHttpRequest

' Open an HTTP connection.'
HttpReq.Open "GET", "http://microsoft.com", False

' Send the HTTP Request.'
HttpReq.Send

' Get all response text.'
Text1.Text = HttpReq.ResponseText
0 голосов
/ 18 декабря 2008

Возможно, вы захотите заглянуть в стороннюю библиотеку с именем Aspose.Cells . Он доступен для Java и .Net и позволяет очень детально контролировать документы Excel. Отличительной особенностью этой библиотеки является то, что она не использует автоматизацию (которая может привести к бедствиям в многопоточной среде, такой как Интернет).

Я лично не использовал Apose.Cells, но я использовал Aspose.Words (для .Net) для создания документов Word, объединенных по почте, которые содержали несколько тысяч записей и изображений, и он работал безупречно.

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