时间:2021-07-01 10:21:17 帮助过:9人阅读
- <br>/// <summary> <br>/// 设置Word模板,word表格样式在此设置 <br>/// </summary> <br>/// <param name="dsTr"></param> <br>/// <returns></returns> <br>protected string SetWordTemplate(string dsTr) <br>{ <br>StringBuilder html = new StringBuilder(); <br>html.Append("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>"); <br>html.Append("<html xmlns='http://www.w3.org/1999/xhtml'>"); <br>html.Append("<html><head><title>测试word</title></head>"); <br>html.Append("<body>"); <br>//html.Append("<table cellpadding='0' cellspacing='0' border='1'>"); <br>html.Append(dsTr); <br>//html.Append("</table>"); <br>html.Append("</body>"); <br>html.Append("</html>"); <br>return html.ToString(); <br>} <br>/// <summary> <br>/// 保存Word <br>/// </summary> <br>/// <param name="savePath"></param> <br>/// <param name="data"></param> <br>/// <returns></returns> <br>protected bool SaveWord(string savePath,string data) <br>{ <br>try <br>{ <br>using (StreamWriter sw = new StreamWriter(savePath,true, Encoding.Default)) <br>{ <br>sw.WriteLine(data); <br>sw.Close(); <br>sw.Dispose(); <br>} <br>return true; <br>} <br>catch <br>{ <br>return false; <br>} <br>return false; <br>} <br>/// <summary> <br>/// 导入 <br>/// </summary> <br>/// <param name="sender"></param> <br>/// <param name="e"></param> <br>private void button1_Click(object sender, EventArgs e) <br>{ <br>//保存路径 <br>string path = string.Format("{0}{1}", Application.StartupPath, "保存物理路径"); <br>//多个表 这里的dataset需要换成从数据库查询出来的dataset <br>foreach(DataTable dt in new DataSet().Tables) <br>{ <br>StringBuilder _tables = new StringBuilder(); <br>for (int i = 0; i < dt.Rows.Count; i++ ) <br>{ <br>if (i == 0) <br>{ <br>_tables.Append("<table cellpadding='0' cellspacing='0' border='1'>"); <br>_tables.Append("<tr><td>表名字</td></tr>"); <br>} <br>_tables.Append("<tr><td>" + i + "</td><td>" + i + "</td><td>" + i + "</td></tr>"); <br>if (i == (dt.Rows.Count - 1)) <br>_tables.Append("</table>"); <br>} <br>SaveWord(path, this.SetWordTemplate(_tables.ToString())); <br>} <br>MessageBox.Show("生成成功!"); <br>} <br> <br> 嘿嘿!大功告成啦!这种方法快捷,但是不能设置word其他的分页功能等等,不过应对于从数据库中把所有表导入到wrod是绰绰有余啦!~ <br> 俺乃小小小小鸟儿,如过哪位大大大大鸟有更好的方案好的Code请多多指教哦!~Thanks