因为项目中需要从数据库中读取数据然后生成一份word文档,下面就是我写的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
using MSWord = Microsoft.Office.Interop.Word;
using System.IO;
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
namespace DBUtility
{
public class Generator
{
private object path;
private string strContent;
private MSWord.Application wordApp;
private MSWord.Document wordDoc;
private object Nothing;
private System.Data.DataTable dt;
public Generator(System.Data.DataTable dt)
{
path = @"E:\岗位责任书.doc";
wordApp = new MSWord.Application();
if (File.Exists((string)path))
{
File.Delete((string)path);
}
Nothing = Missing.Value;
wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
wordApp.Selection.ParagraphFormat.LineSpacing = 16;
this.dt = dt;
}
private void writeParagraph(string strContent, string font, int bold, int size, MSWord.WdParagraphAlignment align)
{
wordDoc.Paragraphs.Add();
wordDoc.Paragraphs.Last.Range.Font.Name = font;
wordDoc.Paragraphs.Last.Range.Font.Bold = bold;
wordDoc.Paragraphs.Last.Range.Font.Size = size;
wordDoc.Paragraphs.Last.Alignment = align;
wordDoc.Paragraphs.Last.Range.Text = strContent;
}
private void save()
{
object format = MSWord.WdSaveFormat.wdFormatDocument97;
wordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
Console.WriteLine(path + " 创建完毕!");
}
}
}