[英]Generate a excel using java and create a macro in the excel
我有一个 java 代码,它从 MongoDB 获取数据,然后使用 Apache POI 创建一个包含此数据的 excel(.xls),但以格式化的方式。
我的最终要求是将 Excel 工作表中的最后一个工作表邮寄到一组邮件 ID。 我无法使用 Java 邮件 API 来执行此操作,因为不会向我提供邮箱的 SMTP 详细信息。 截至目前,我计划在生成的 excel 中创建一个宏来发送数据。 我创建的用于发送邮件的宏是:
Sub Send_Selection_Or_ActiveSheet_with_MailEnvelope()
'Working in Excel 2002-2016
Dim Sendrng As Range
On Error GoTo StopMacro
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'Note: if the selection is one cell it will send the whole worksheet
Set Sendrng = Selection
'Create the mail and send it
With Sendrng
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
' Set the optional introduction field thats adds
' some header text to the email body.
.Introduction = "This is a test mail."
With .Item
.To = "iamnithinprakash@gmail.com"
.Subject = "My subject"
.Send
End With
End With
End With
StopMacro:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ActiveWorkbook.EnvelopeVisible = False
End Sub
但我不知道如何使用 java 创建这个宏。
OP 询问如何使用包含宏的 Apache POI 库创建 Excel 工作表。 不幸的是:这是不可能的。
引用 POI 限制:
无法创建宏。 目前没有计划支持宏。
幸运的是,它继续:
但是,读取和重写包含宏的文件将安全地保留宏。
那么,什么可以解决:
(或者它的一些变体,比如创建那个空模板,复制它,然后打开/更新其中一个副本)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.