程序化邮件合并样式数据注入现有Excel电子表格?

时间:2008-12-17 22:12:23

标签: java python excel

我想自动将数据输入到Excel电子表格中。用户数据将存在于网站上,当用户请求时,该数据将需要注入Excel电子表格。复杂的是,Excel电子表格的格式在用户之间可能会有很大差异 - 它将由用户定义。

我一直认为这是一个模板问题 - excel电子表格提供模板,以及将数据注入该模板中特定用户定义单元格的任务。

我查看了xlwt和xlrd的python,以及jexcelapi和POI-HSSF for Java。他们似乎可以工作,但考虑到我只是想把价值放到某些单元格中,它们看起来有点过分。我还担心在处理后重写用户的电子表格;似乎是一个在过程中引入错误的机会。

有没有办法告诉excel将数据从一张纸合并到另一张?我想我可以制作一个只有数据的简单电子表格,并以某种方式让Excel将其合并到用户现有的电子表格中。

有意义吗?更好的方法?

3 个答案:

答案 0 :(得分:2)

jXLS可能是一个选项。您将XLS文件定义为模板,然后合并数据。

快速概述here

http://jxls.sourceforge.net/

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您可能希望查看名为Aspose.Cells的第三方库。它可用于Java和.Net,并允许非常精细地控制Excel文档。这个库的优点在于它不使用自动化(在网络等多线程环境中可能会造成灾难)。

我没有亲自使用过Apose.Cells,但我使用了Aspose.Words(用于.Net)来创建包含数千条记录和图像的邮件合并Word文档,并且它运行完美。