Запустите Highcharts на серверном коде, чтобы добавить в документ Word - PullRequest
0 голосов
/ 02 июля 2018

Я использую Highcharts в проекте ASP.Net MVC. Все отлично работает на стороне клиента / js, однако у меня есть требование создать текстовый документ через проект, который включает одну из этих диаграмм, которые вы можете видеть на экране.

В настоящее время я использую библиотеку Novacode docx для создания / изменения файлов слов, и это прекрасно работает. Я могу легко добавлять изображения и при необходимости создавать базовые диаграммы с помощью библиотеки диаграмм .Nets, но я бы предпочел использовать таблицы Highcharts.

Кто-нибудь знает, как через контроллер (то есть на стороне сервера) я могу создать диаграмму Highcharts или получить изображение для использования в документе. Единственные примеры, которые я могу найти, все еще требуют некоторого уровня JS, чтобы выполнить это.

1 Ответ

0 голосов
/ 04 июля 2018

В конце концов я решил это сам, используя следующее:

HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://export.highcharts.com");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        HttpResponseMessage response = client.PostAsync("", content).Result;
        if (response.IsSuccessStatusCode)
        {
            FileStream fileStream = new FileStream(pathname, FileMode.Create, FileAccess.Write, FileShare.None);
            response.Content.CopyToAsync(fileStream).ContinueWith(
               (copyTask) =>
               {
                   fileStream.Close();
               });
        }
        else
        {
            Console.WriteLine($"Failed to poste data. Status code:{response.StatusCode}");
        }

JSON для него я построил с помощью опций здесь: https://www.highcharts.com/docs/export-module/export-module-overview

Извиняюсь за грубый пример, который я, очевидно, изменю и приведу в порядок, но хотел бы дать ответ на этот вопрос, если кто-то найдет его полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...