请教:如何将数据库中的数据提取出来,写到一个Word模板中? http://www.c-sharpcorner.com/Code/2002/Mar/WordFromDotNet.asphttp://dotnet.aspx.cc/ShowDetail.aspx?id=6AFBF00B-459D-4642-AD14-8A4765FFAFCC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哥哥这两个网址我都上了,一个是英文的,我是一点看不懂。另一个是VB的,我更是一点看不懂。如果你能看懂劳架您帮我做一个C#的实例好吗?分数一同送出!!!越详细越好!!! 分成两部分;1、数据库数据获取。2、用Word的宏写进Word文件 我的思路是1。先把文件转化成xml文件。2。因为xml文件实际上就是字符串。可以把他保存在表中的一个字段内3。从字段中提取xml文件的字符串,4。在转化成文件。5。该文件可以使任何文件(word,ppt,excel,pdf等等,)6。如何把文件转化成xml文件。请参照http://community.csdn.net/Expert/topic/3219/3219233.xml?temp=.1093408希望能对你有用 给你一个前台的代码: var fso=new ActiveXObject("Scripting.FileSystemObject"); if (!fso.fileexists("c:\\模板文件.dot")) { alert("本机没有模板文件存在"); delete fso; return; } //var str=Form1.tbMessage.value; //var strSumary=Form1.tbSumary.value; if (str=="" && strSumary=="") { alert("对不起,没有记录无法生成文档!"); return; } var s,l,j,tmp,ss="",intRows=0,counts=1; var strTmp=new Array(); var bookid=new Array(); //数组,存放标签的名称 bookid[1]="XM"; bookid[2]="HB"; bookid[3]="ZDtime"; bookid[4]="SHJK"; bookid[5]="BZ"; bookid[6]="QJ"; bookid[7]="LC"; bookid[8]="FSDate"; bookid[9]="FSTime"; bookid[10]="KTDate"; bookid[11]="KTTime"; var wrd=new ActiveXObject("Word.Application"); wrd.visible=true; wrd.Documents.Open("c:\\模板文件.dot") var odoc=wrd.ActiveDocument; var now = new Date(); var mm = now.getMonth()+1; odoc.Books.Item("BookDate").Range.Text =Form1.tbToday.value; l=str.length; for(s=0;s<l;s++) { tmp=str.charAt(s); //分离字符串 if (tmp!="&") { ss+=tmp; } else { strTmp[intRows]=ss; ss=""; intRows+=1; } if (intRows==11) { for(j=1;j<=11;j++) { //将数组中的值写入标签页 odoc.Books.Item("Book"+bookid[j]+counts).Range.Text = strTmp[j-1]; } if(counts>5) { alert("写入数据时发生错误!"); return; } intRows=0; counts+=1; } } //写入BookSumary odoc.Books.Item("BookSumary").Range.Text=strSumary; var oTable=odoc.Tables.Item(1); for(j=9;j>=counts+3;j--) //删除Word文档中多余的行 { oTable.Cell(j, 1).Merge(oTable.Cell(j, 13)); oTable.Cell(j, 1).Delete(); } wrd.ActiveDocument.SaveAs("d:\\XX.doc"); wrd=null; } ckvip给的代码可以实现,不过你得先做一个Word模板 xml导入oracle 是不能跨线程修改控件的值还是不能跨线程访问控件? C# 谁能提供一些合成avi视频的资料链接等 画坐标图用什么控件 can't play embedded youtube swf on some computer 苦求 如何对数据库中数据操作进行监控!!!!!!!!!!!! winform的界面问题 关于datetimepicker的问题,日历中怎么只显示年月,而不要具体的那一天! 一个简单的问题 请教高手,问题何在? 请问一个关于数据库编程的问题。关于ADO.NET.DataSet 如何做到:修改datagrid 中的内容,数据库中的内容也即时修改?
1。先把文件转化成xml文件。
2。因为xml文件实际上就是字符串。可以把他保存在表中的一个字段内
3。从字段中提取xml文件的字符串,
4。在转化成文件。
5。该文件可以使任何文件(word,ppt,excel,pdf等等,)
6。如何把文件转化成xml文件。请参照http://community.csdn.net/Expert/topic/3219/3219233.xml?temp=.1093408
希望能对你有用
var fso=new ActiveXObject("Scripting.FileSystemObject");
if (!fso.fileexists("c:\\模板文件.dot"))
{
alert("本机没有模板文件存在");
delete fso;
return;
}
//var str=Form1.tbMessage.value;
//var strSumary=Form1.tbSumary.value;
if (str=="" && strSumary=="")
{
alert("对不起,没有记录无法生成文档!");
return;
}
var s,l,j,tmp,ss="",intRows=0,counts=1;
var strTmp=new Array();
var bookid=new Array(); //数组,存放标签的名称
bookid[1]="XM";
bookid[2]="HB";
bookid[3]="ZDtime";
bookid[4]="SHJK";
bookid[5]="BZ";
bookid[6]="QJ";
bookid[7]="LC";
bookid[8]="FSDate";
bookid[9]="FSTime";
bookid[10]="KTDate";
bookid[11]="KTTime";
var wrd=new ActiveXObject("Word.Application");
wrd.visible=true;
wrd.Documents.Open("c:\\模板文件.dot")
var odoc=wrd.ActiveDocument;
var now = new Date();
var mm = now.getMonth()+1;
odoc.Books.Item("BookDate").Range.Text =Form1.tbToday.value;
l=str.length;
for(s=0;s<l;s++)
{
tmp=str.charAt(s); //分离字符串
if (tmp!="&")
{
ss+=tmp;
}
else
{
strTmp[intRows]=ss;
ss="";
intRows+=1;
}
if (intRows==11)
{
for(j=1;j<=11;j++)
{
//将数组中的值写入标签页
odoc.Books.Item("Book"+bookid[j]+counts).Range.Text = strTmp[j-1];
}
if(counts>5)
{
alert("写入数据时发生错误!");
return;
}
intRows=0;
counts+=1;
}
}
//写入BookSumary
odoc.Books.Item("BookSumary").Range.Text=strSumary;
var oTable=odoc.Tables.Item(1);
for(j=9;j>=counts+3;j--) //删除Word文档中多余的行
{
oTable.Cell(j, 1).Merge(oTable.Cell(j, 13));
oTable.Cell(j, 1).Delete();
}
wrd.ActiveDocument.SaveAs("d:\\XX.doc");
wrd=null;
}