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

ASP.NET
从一个舆论调查的制作谈面向对象的编程思路(二)
从一个舆论调查的制作谈面向对象的编程思路(三)
从一个舆论调查的制作谈面向对象的编程思路(四)
从一个舆论调查的制作谈面向对象的编程思路(五)
c#写的五子棋程序,供学习WinForms的鼠标事件和使用GDI+
我对.Net技术中asp.net应用的一点看法
ASP.NET连SQL7接口源代码
ASP.NET中密码保护,MD5和SHA1算法的使用
微软的远程处理框架.NET Remoting - 1
微软的远程处理框架.NET Remoting - 2
黑客写出了针对.Net平台的反编译器
在config.web中保存数据库连接串
在ASP.Net中两种利用CSS实现多界面的方法
ASP.NET中如何调用存储过程
ASP.NET中取代ASP的RS(Remote Scripting)技术的Framework
刚学ASP.Net,学了个简单的计算器
ASP.NET 链接数据库基础
一个简单的加密/解密方法
加入身份验证信息的SMTP mail发送
webconfig的设置节点说明

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-20   浏览: 284 ::
收藏到网摘: 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