Экспорт данных из 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 ответа
Вы должны быть в состоянии использовать OpenXML SDK от Microsoft для достижения этой цели.
Ссылка: http://msdn.microsoft.com/en-us/library/bb448854.aspx
Образец справки:
- http://blogs.msdn.com/b/acoat/archive/2010/06/19/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services.aspx
- http://blogs.msdn.com/b/acoat/archive/2011/04/06/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services-part-2.aspx
С какой версией Word вам нужно работать? Если это версия, которая может обрабатывать формат файла.docx, то есть 2007 и более поздние версии, то вы можете сгенерировать эти файлы напрямую. На самом деле, самый простой способ сделать это - создать файл Word в Word, который вы используете в качестве шаблона, а затем программно манипулировать XML в этом файле.
Для получения дополнительной информации см.