下面给出了一个合并功能,该功能旨在合并文件夹中的所有docx文件并生成合并的文件。
public void Merge() { try { string sid = Request.QueryString["studid"]; string stud = sid.ToString(); string ds = HttpContext.Current.Server.MapPath(("~\\StudentBinder") + "\\Temp4\\"); if (Directory.Exists(ds)) { DirectoryInfo d = new DirectoryInfo(ds); FileInfo[] Files = d.GetFiles("*" + stud + "*.docx"); // stud added for differentiating b/w users string[] filepaths = new string[Files.Length]; int index = 0; foreach (FileInfo file in Files) { filepaths[index] = file.Name; index++; } using (WordprocessingDocument myDoc = WordprocessingDocument.Open(Server.MapPath(filepaths[0]), true)) { for (int i = 1; i < filepaths.Length; i++) { MainDocumentPart mainPart = myDoc.MainDocumentPart; string altChunkId = "AltChunkId" + i.ToString(); AlternativeFormatImportPart chunk = mainPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.WordprocessingML, altChunkId); using (FileStream fileStream = File.Open(@filepaths[i], FileMode.Open)) { chunk.FeedData(fileStream); } AltChunk altChunk = new AltChunk(); altChunk.Id = altChunkId; mainPart.Document.Body.InsertAfter(altChunk, mainPart.Document.Body.Elements().Last()); mainPart.Document.Save(); myDoc.Close(); } } } } catch (Exception ex) { } }
但是线
using (WordprocessingDocument myDoc = WordprocessingDocument.Open(Server.MapPath(filepaths[0]), true))
引发错误指定的包无效。主要部分丢失。
我不知道那句话出了什么问题。任何建议都欢迎。提前致谢。