将访问报告导出为 PDF

Posted

技术标签:

【中文标题】将访问报告导出为 PDF【英文标题】:Export Access report as PDF 【发布时间】:2017-07-31 09:43:54 【问题描述】:

我正在用 C# 编写一个连接到 Access 数据库的 ASP.NET 应用程序,现在我希望它将报告导出为 PDF。这是我只连接到 Access 的代码,我正在考虑运行访问宏或使用 Microsoft.Office.Interop.Access.Application DoCmd.OutputTo 运行命令,但我不知道如何准确使用它。有什么帮助吗?

string user = "myUser";
string pass = "myPass";
string host = "myHost";
OleDbConnection connection = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = myPath");
string _command = ...; //I don't know what put here

try

    OleDbCommand command = new OleDbCommand(_command, connection);
    command.CommandText = ...; //I don't know what put here
    int temp = command.ExecuteNonQuery();
    Console.WriteLine("PDF created!");
 

【问题讨论】:

你在这里走错了路。您可以将报告打印为 PDF,但不能使用 OleDb 访问报告,因为它连接到 Access 数据库(处理表、查询和数据宏,但不处理报告、表单、VBA 和普通宏),而不是应用程序。这:support.microsoft.com/en-us/help/317114/… 是使用 COM 和使用 Access 应用程序而不是数据库的良好开端。但是先尝试在 Access 中打印到 PDF,然后尝试在 C# 中实现它。 为什么不使用 RDLC 报告?它提供了将报告导出为 PDF 或其他格式的内置功能,无需预览给用户。 谢谢,我会搜索自动化 Access 但我不知道什么是 RDLC 报告,也不知道如何将它与 Access 一起使用。 使用文章https://www.codeproject.com/Articles/492739/Exporting-to-Word-PDF-using-Microsoft-Report-RDLC 获取导出报告的详细信息。 RDLC 独立于数据库选择。您可以使用您的数据表将数据从外部提供给 rdlc 报告,它会起作用。 【参考方案1】:

我解决了我的自动化问题,我遵循了https://support.microsoft.com/en-us/help/317114/how-to-automate-microsoft-access-by-using-visual-c(由 Erik von Asmuth 建议我),现在我可以将我的报告导出为 PDF。我现在的代码:

using Microsoft.Office.Interop.Access;

Application access = new Microsoft.Office.Interop.Access.Application();
access.OpenCurrentDatabase(@"C:\Desktop\MyDB.accdb", false);

access.DoCmd.OutputTo(AcOutputObjectType.acOutputReport, 
    "Dati", //ReportName
    ".pdf", //OutputType
    @"C:\Desktop\Test.pdf",  //outupuFile
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    AcExportQuality.acExportQualityPrint
);

【讨论】:

以上是关于将访问报告导出为 PDF的主要内容,如果未能解决你的问题,请参考以下文章

如何将报告导出为 PDF/A-1a、PDF/A-1b?

将 s-s-rS 报告导出为 PDF 格式时出现 png 图像问题

Jasper 报告无法导出为 PDF

如何以格式化 ID 值作为报告名称将 MS Access 报告导出为 PDF?

SSRS报告导出为PDF并附加其他文档

s-s-rS 2008 - 导出为 pdf 时出现多个报告页面差异