OpenXML是微软官方一个开源的操作Word、Excel和PPT的SDK,用C#进行开发,使用此类库可以方便的对office这三类主要文档进行操作,而且还不用安装Office程序。

Open-Xml-PowerTools是对OpenXML的一个扩展,在OpenXML的基础上,进行了优化,方便使用。

Open-Xml-PowerTools是一个开源的类库,在github上有源码,地址为https://github.com/OfficeDev/Open-Xml-PowerTools。

根据详细的使用,列举一下,使用此类库进行ppt和doc文档的合并,具体的代码如下:

ppt文件合并:
//初始化一个ppt的SlideSource列表
var sources = new List<OpenXmlPowerTools.SlideSource>();
for (int ii = 1; ii < _pidx; ii++)
{
//添加ppt文件的路径
string _tpptx = Path.Combine(_baseOutdir, "ppt列表" + ii + ".pptx");
if (File.Exists(_tpptx))
{
//sources中添加ppt文档,此类可指定ppt具体那几页
sources.Add(new OpenXmlPowerTools.SlideSource(new OpenXmlPowerTools.PmlDocument(_tpptx), false));
}
}
//ppt文件合并函数,设置输出路径,输入前边的sources列表
OpenXmlPowerTools.PresentationBuilder.BuildPresentation(sources, Path.Combine(_baseOutdir, "ppt文件输出" + _pidx + ".pptx"));

word文件合并:
//word文件的列表是sources,初始化
var sources = new List<OpenXmlPowerTools.Source>();
sources.Add(new OpenXmlPowerTools.Source(new OpenXmlPowerTools.WmlDocument(_basePPTPath), true));
for (int ii = 1; ii < _pidx; ii++)
{
string _tpptx = Path.Combine(_baseOutdir, "word" + ii + ".docx");
if (File.Exists(_tpptx))
{
//sources中添加word文档,此类可指定word具体那几页
sources.Add(new OpenXmlPowerTools.Source(new OpenXmlPowerTools.WmlDocument(_tpptx), false));
}
}
//word文件合并函数,设置输出路径,输入前边的sources列表
OpenXmlPowerTools.DocumentBuilder.BuildDocument(sources, Path.Combine(_baseOutdir, "word.docx"));

OpenXmlPowerTools在需要根据模版,生成文档,是一个非常方便的类库,在开发中,可以在后台制作好文档的模版,通过服务的请求,生成文档,供用户进行下载。