Программный ввод данных в стиле слияния в существующие таблицы Excel?

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

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

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

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

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

Ответы на вопрос(3)

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

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

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
Решение Вопроса

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

Краткая информацияВот

http://jxls.sourceforge.net/

 Parand18 дек. 2008 г., 06:42
Очень интересно, очень похоже на то, что я искал. Собираюсь попробовать.

Ваш ответ на вопрос