if (sfd.ShowDialog() == DialogResult.OK)
{
DataTableToWord(tb, sfd.FileName,treeView1);
}
}
/// <summary>
/// 操作word
/// </summary>
/// <param name="dt">dataTable数据源</param>
/// <param name="tv">TreeView数据源</param>
/// <param name="fileName">保存地址</param>
public void DataTableToWord(DataTable dt, string fileName,TreeView tv)
{
Object Nothing = System.Reflection.Missing.Value;
object filename = fileName;//文件保存路径
Word.Application WordApp = new Word.ApplicationClass();
//创建一个文档
Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//获取创建表格列数
int Num = tv.Nodes.Count;
int notNull = 0;
for (int i = 0; i < tv.Nodes.Count; i++)
{
if (tv.Nodes[i].Nodes.Count != 0)
{
Num = Num + tv.Nodes[i].Nodes.Count;
notNull = notNull + 1;
}
}
//文档中创建表格,其中的第2和3个参数是创建的表格的行数和列数,给的值是dataTable的行数和列数
Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, dt.Rows.Count + 1, Num - notNull, ref Nothing, ref Nothing);
//表格的外线格式
//newTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleEngrave3D;
//////表格的内线格式