比较简单的将数据信息导入wrod文档方案(C# for word)

复制代码 代码如下:

  /// <summary>

  /// 设置Word模板,word表格样式在此设置

  /// </summary>

  /// <param name="dsTr"></param>

  /// <returns></returns>

  protected string SetWordTemplate(string dsTr)

  {

  StringBuilder html = new StringBuilder();

  html.Append("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>");

  html.Append("<html xmlns='http://www.w3.org/1999/xhtml'>");

  html.Append("<html><head><title>测试word</title></head>");

  html.Append("<body>");

  //html.Append("<table cellpadding='0' cellspacing='0' border='1'>");

  html.Append(dsTr);

  //html.Append("</table>");

  html.Append("</body>");

  html.Append("</html>");

  return html.ToString();

  }

  /// <summary>

  /// 保存Word

  /// </summary>

  /// <param name="savePath"></param>

  /// <param name="data"></param>

  /// <returns></returns>

  protected bool SaveWord(string savePath,string data)

  {

  try

  {

  using (StreamWriter sw = new StreamWriter(savePath,true, Encoding.Default))

  {

  sw.WriteLine(data);

  sw.Close();

  sw.Dispose();

  }

  return true;

  }

  catch

  {

  return false;

  }

  return false;

  }

  /// <summary>

  /// 导入

  /// </summary>

  /// <param name="sender"></param>

  /// <param name="e"></param>

  private void button1_Click(object sender, EventArgs e)

  {

  //保存路径

  string path = string.Format("{0}{1}", Application.StartupPath, "保存物理路径");

  //多个表 这里的dataset需要换成从数据库查询出来的dataset

  foreach(DataTable dt in new DataSet().Tables)

  {

  StringBuilder _tables = new StringBuilder();

  for (int i = 0; i < dt.Rows.Count; i++ )

  {

  if (i == 0)

  {

  _tables.Append("<table cellpadding='0' cellspacing='0' border='1'>");

  _tables.Append("<tr><td>表名字</td></tr>");

  }

  _tables.Append("<tr><td>" + i + "</td><td>" + i + "</td><td>" + i + "</td></tr>");

  if (i == (dt.Rows.Count - 1))

  _tables.Append("</table>");

  }

  SaveWord(path, this.SetWordTemplate(_tables.ToString()));

  }

  MessageBox.Show("生成成功!");

  }

   嘿嘿!大功告成啦!这种方法快捷,但是不能设置word其他的分页功能等等,不过应对于从数据库中把所有表导入到wrod是绰绰有余啦!~

   俺乃小小小小鸟儿,如过哪位大大大大鸟有更好的方案好的Code请多多指教哦!~Thanks