private Dictionary <string, string> getFileDict(string docFileName, out string dh) { dh = ""; var dict = new Dictionary <string, string>(); if (File.Exists(docFileName)) { using (Stream stream = new FileStream(docFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { HWPFDocument hd = new HWPFDocument(stream); var paraTable = hd.ParagraphTable; Range rang = hd.GetRange(); int paragraphCount = rang.NumParagraphs; for (int i = 0; i < paragraphCount; i++) { var pph = rang.GetParagraph(i); var text = pph.Text.Replace(":", ":").Replace(" ", "").Trim(); if (text.StartsWith("档号:")) { dh = text.Replace("档号:", "").Trim(); break; } } rang = hd.GetRange(); TableIterator it = new TableIterator(rang); while (it.HasNext()) { NPOI.HWPF.UserModel.Table tb = (NPOI.HWPF.UserModel.Table)it.Next(); for (int i = 0; i < tb.NumRows; i++) { var row = tb.GetRow(i); var cellCount = row.numCells(); if (cellCount > 1) { var key = row.GetCell(0).Text.Trim().Replace("\a", ""); var value = row.GetCell(1).Text.Trim().Replace("\a", ""); if (!dict.ContainsKey(key)) { dict.Add(key, value); } } } } } } return(dict); }