Java 带内联附件的多部分电子邮件:excel工作表的一部分被视为图像

Java 带内联附件的多部分电子邮件:excel工作表的一部分被视为图像,java,excel,email,apache-poi,apache-commons-email,Java,Excel,Email,Apache Poi,Apache Commons Email,关于使用apache commons库的附件的.INLINE部分的快速问题 基本上,我应该通过邮件发送excel表格的一部分,显示邮件正文中的上述部分,如果我没有弄错的话,应该这样写: attachment.setDisposition(EmailAttachment.INLINE); 现在问题来了:通过我的代码,我可以很容易地发送附件,这些附件只是附件,如果它们是图像,我也可以将它们内联 由于xml文件是使用ApachePOI格式化的,有没有办法获取它的一部分?(我发现了与VBA-excel

关于使用apache commons库的附件的.INLINE部分的快速问题

基本上,我应该通过邮件发送excel表格的一部分,显示邮件正文中的上述部分,如果我没有弄错的话,应该这样写:

attachment.setDisposition(EmailAttachment.INLINE);
现在问题来了:通过我的代码,我可以很容易地发送附件,这些附件只是附件,如果它们是图像,我也可以将它们内联

由于xml文件是使用ApachePOI格式化的,有没有办法获取它的一部分?(我发现了与VBA-excel相关的类似主题,但我需要在我的程序中实现这一点。此外,如果可能的话,我希望发送格式化的选择,因为它非常好看,这要感谢POI…)

最终结果应该类似于从邮件正文中显示的xml文件的选定单元格中复制/粘贴,但由于它不是图像,因此如果仅使用.INLINE语句,它将无法正确显示..我甚至尝试过对JTable组件进行快照,但没有任何有用的结果

以下是发送电子邮件的代码(如果有帮助):

class SendEmail {
    public SendEmail() {

        // Create the attachment
        EmailAttachment attachment = new EmailAttachment();
        attachment.setPath("pathToFile");
        attachment.setDisposition(EmailAttachment.INLINE);
        attachment.setDescription("Xml File");
        attachment.setName("file.ods);

        // Create the email message
        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.googlemail.com");
        email.setSmtpPort(587);
        email.setAuthenticator(new DefaultAuthenticator(
                "gmailAccount", "gmailAccountPwd"));
        email.setSSL(true);

        try {
            email.addTo("toRecipient");

            email.setFrom("fromRecipient");

            email.setSubject("Attached Mail Test");
            email.setMsg("This line should be followed by something..hopefully");

            // add the attachment
            email.attach(attachment);
            email.setTLS(true);

            // send the email
            email.send();

        } catch (EmailException e) {
            e.printStackTrace();
        }
    }
}

PS:请注意,发送附加附件或内联图像没有问题。这是apache commons的限制还是我经验不足?(后者仍然站在话题之外XD)

快速问题“生命的意义是什么?”也是一个快速问题。这个答案可能需要一些时间。我们为什么要关心你问问题的速度有多快我刚才是不是在这里被骗了=X在一个严肃的问题上,这并没有真正帮助不计算我实际上花了时间阅读整个线程,却没有找到答案..如果我能自己找到答案,我不喜欢在这个论坛上窃听别人/哦,别这样。这是一个轻微的“戳肋骨”,以强调问题的“快速性”与答案的快速性无关。振作起来更多关注实际问题的人可能随时都会出现。是的,别担心,我只是不喜欢问,因为这里的人都在空闲时间帮忙。我对这个问题有点敏感