Экспорт данных из C# в текстовый документ

У меня есть сетка в C# с данными. Один из столбцов в этой сетке содержит буквы (за которыми следуют цифры), отсортированные в алфавитном порядке, например:

A124
A256
A756
B463
B978
D322
etc.

Мне нужно экспортировать эти данные в текстовый документ (формат.doc или.docx). Вот что я сделал для экспорта сетки сигналов:

var dt = FuntionThatReturnsDatatables();

var gd = new GridView
        {
            DataSource = dt                     
        };

        gd.DataBind();

        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;

        HttpContext.Current.Response.AddHeader("content-disposition", "attachment;
        filename=" + "List" + DateTime.Now.ToString("dd.MM.yyyy") + ".doc");

        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/ms-word";
        HttpContext.Current.Response.Charset = "UTF-8";

      HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble()); 

        var oStringWriter = new StringWriter();
        var oHtmlTextWriter = new HtmlTextWriter(oStringWriter);

        gd.RenderControl(oHtmlTextWriter);
        HttpContext.Current.Response.Output.Write(oStringWriter.ToString());
        HttpContext.Current.Response.Flush();
        HttpContext.Current.Response.End();

Но теперь я должен следовать этой логике: - Для каждой буквы из сетки должна быть создана новая таблица с заголовком следующим образом:

Table A:
 A124
 A256
 A756

  • Каждая новая таблица должна начинаться с новой страницы, например:

    Таблица A: A124, A256, A756, // новая страница

    Таблица B: B463, B978, // новая страница

    Таблица D: D322 и т. Д.

  • Страницы в этом текстовом документе должны быть пронумерованы.

Есть ли способ написать код на C# для этого или есть библиотека / плагин, который может решить эту задачу?

Некоторые примеры будут оценены.

2 ответа

Решение

С какой версией Word вам нужно работать? Если это версия, которая может обрабатывать формат файла.docx, то есть 2007 и более поздние версии, то вы можете сгенерировать эти файлы напрямую. На самом деле, самый простой способ сделать это - создать файл Word в Word, который вы используете в качестве шаблона, а затем программно манипулировать XML в этом файле.

Для получения дополнительной информации см.

Другие вопросы по тегам