使用 C# 以编程方式将查询表从 MS Access 导出到 Excel

Man*_*ana 1 c# database excel ms-access

今天我有一个软件,它从网上下载 xml 数据并将其导出到适当表中的 MS Access DB。

在 MS Access DB 中,我创建了一个使用表的查询来创建列和行,因为我希望它在 Excel 中看起来像。

当我右键单击我的新查询表并选择导出到 Excel 时,我能够从该查询创建一个 Excel 文件。

基本上我想做的是扩展我的软件,以便我可以使用 C# 以编程方式将查询导出到 Excel。

我怎样才能做到这一点?

---------------------------
Run Code Online (Sandbox Code Playgroud)

其他相关的事情我也想解决。

我在左侧的数字上方看到绿色三角形,检查图像postimg.org/image/t6tvfw2cz如何从 c# 中删除。

是否可以使用 c# 代码格式化表格外观和设计?

是否可以使用 c# 代码向标头添加过滤器?– 玛娜 15 小时前

JMK*_*JMK 6

像这样的事情应该这样做:

private static void ExportQuery(string databaseLocation, string queryNameToExport, string locationToExportTo)
{
    var application = new Application();
    application.OpenCurrentDatabase(databaseLocation);
    application.DoCmd.TransferSpreadsheet(AcDataTransferType.acExport, AcSpreadSheetType.acSpreadsheetTypeExcel12,
                                          queryNameToExport, locationToExportTo, true);
    application.CloseCurrentDatabase();
    application.Quit();
    Marshal.ReleaseComObject(application);
}
Run Code Online (Sandbox Code Playgroud)

你会这样称呼它:

ExportQuery(@"C:\blah\blah.accdb", "myQuery", @"C:\blah\blah.xlsx");
Run Code Online (Sandbox Code Playgroud)

请务必添加这些 using 语句:

using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Access;
Run Code Online (Sandbox Code Playgroud)