当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 比较简单的将数据信息导入wrod文档方案(C# for word)

ASP.NET
Check Your Internet Connection With C#
Essential .NET读书笔记
可用来显示空值的时间选择控件3
学习Keny boy sps区域列表的管理入口程序
[译]Visual Basic 2005在语言上的增强(十)应用程序级别事件
什么时候应该使用 ==?什么时候应该使用 Equals?
“String.Equals(string)”和“==”那个快?
应用ADO.net得到系统表信息
不会被其他窗体遮挡的抓图,使用API的PrintWindow函数
关于.net下服务安装
水晶报表4.6的使用示例
超大正整数加法与乘法最笨方法实现
实现web页面的局部刷新
动态生成带事件的MsFlexGrid
一些codedom的资料。
WML教程3:任务与导航-赋值与数据交换
WML教程7:WML的事件
WML教程10:分组选择控件(Optgroup)和复杂实例
WML教程5:任务和任务屏蔽
VS.NET安装部署深入研究

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-20   浏览: 274 ::
收藏到网摘: n/a

史上最简单将数据信息导入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