Программно открыть документ Excel с подключением к табличной модели

Я хотел бы программно создать электронную таблицу с подключением к моей табличной модели, которая существует на сервере анализа Azure, когда пользователь нажимает какую-либо кнопку. Аналогично опции, доступной в Azure для просмотра табличной модели, которая создает файл odc, который можно открыть в Excel. Мое приложение размещено в Azure, и я использую .NET Core 2.2 в качестве серверной части.

Я совершенно не знаю, как я могу этого добиться. Кому-нибудь удалось реализовать такой функционал?


person anonuser1    schedule 22.12.2019    source источник


Ответы (1)


Самое простое — просто сгенерировать и доставить файл odc, который откроется в Excel.

Сначала создайте файл .odc, указывающий на ваш сервер AAS, в соответствии с документами: Создать файл подключения к данным Office.

Затем добавьте этот файл .odc в свое веб-приложение и обработайте его через контроллер следующим образом:

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");
        }

    }
}
person David Browne - Microsoft    schedule 29.12.2019