/// <summary> /// 构造函式,使用模板 /// </summary> /// <param name="template"></param> public WordReport(string template) { try { _defaultFont = new WordFont(); _engine = new Word.Application(); _wordDoc = _engine.Documents.Open(template, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing, _missing); _wordTables = _wordDoc.Tables; _wordShapes = _wordDoc.InlineShapes; _version = DetermineVersion(); _chartStyle = new WordChartStyle(); } catch (Exception ex) { ErrorParser(ex); return; } }
/// <summary> /// 写入指定范围资料的文字外观 /// </summary> /// <param name="range">范围</param> /// <param name="font">文字外观</param> private void ApplyFont(Word.Range range, WordFont font) { try { var f = range.Font; f.Name = font.FontName; f.Size = font.FontSize; f.Bold = font.IsBold; f.Italic = font.IsItalic; f.Underline = font.IsUnderlined; f.StrikeThrough = font.IsStrikedThrough; f.Color = font.FontColor; } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 在指定位置上插入文字 /// </summary> /// <param name="type">插入类型</param> /// <param name="text">文字</param> /// <param name="font">文字外观</param> public void WriteTextToDoc(InsertionPoint type, string text, WordFont font = null) { try { Word.Range r = GetRange(type); r.Text = text; if (font == null) { ApplyFont(r, _defaultFont); } else { ApplyFont(r, font); } } catch (Exception ex) { ErrorParser(ex); return; } }