在程序中一般用word组件来讲html转换为word,这种方法比较简单快速,但是要求是使用程序的电脑必须安装word,不可能要求所有的程序使用者都安装word吧,所以需要用其它的方法替代word组件。
HtmlToOpenXml是个不错的开源库,用于将html转换为word,该库基于OpenXml,要求电脑安装.net framework4.0(win7自带)。使用方法也比较简单
首先在自己项目中引用HtmlToOpenXml和OpenXml
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using NotesFor.HtmlToOpenXml;
具体代码如下:
using (MemoryStream generatedDocument = new MemoryStream())
{
using (WordprocessingDocument package = WordprocessingDocument.Create(generatedDocument, WordprocessingDocumentType.Document))
{
MainDocumentPart mainPart = package.MainDocumentPart;
if (mainPart == null)
{
mainPart = package.AddMainDocumentPart();
new Document(new Body()).Save(mainPart);
}
HtmlConverter converter = new HtmlConverter(mainPart);
converter.BaseImageUrl = new Uri(imgBasePath);//指定图片路径,否则在word中不能正常显示图片
converter.ExcludeLinkAnchor = false;
Body body =