以编程方式打开连接到表格模型的 Excel 文档

Programmatically open an Excel document with connection to a Tabular Model

我想以编程方式创建电子表格,并在用户单击某个按钮时连接到 Azure 分析服务器中存在的表格模型。类似于 Azure 中用于查看表格模型的选项,该选项创建一个 odc 文件,您可以在 Excel 中打开该文件。我的应用程序托管在 Azure 上,我使用 .NET Core 2.2 作为后端。

我完全不知道如何才能做到这一点。有没有人设法实现这样的功能?

最简单的方法就是生成并传送一个 odc 文件,该文件将以 Excel 打开。

首先根据文档创建一个指向您的 AAS 服务器的 .odc 文件:Create an Office Data Connection file

然后将该 .odc 文件添加到您的 Web 应用程序,并通过如下控制器提供服务:

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using System.IO;
using System.Text;

namespace WebApplication4.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class OdcController : ControllerBase
    {
        private IHostingEnvironment hostingEnvironment;
        public OdcController(IHostingEnvironment env)
        {
            hostingEnvironment = env;
        }
        // GET api/values
        [HttpGet]
        public ActionResult Get()
        {
            var fp = Path.Combine(_env.ContentRootPath, "model.odc");
            var odcText = System.IO.File.ReadAllText(fp);
            //optionally modify odcText
            return File(Encoding.ASCII.GetBytes(odcText), "application/octet-stream", "model.odc");
        }

    }
}