在VC6.0下,如何调用WORD并且绘制一个自定义的表格,同时将数据库中存储的数据添入这个表格中
最近在做一个项目,要用到在Word中绘制一个自定义表格(不规范的那种),并且将数据库中预先存好的数据导入到其中,并且进行打印(纸张要设置成横向的)。有哪位对这方面比较了解...
最近在做一个项目,要用到在Word中绘制一个自定义表格(不规范的那种),并且将数据库中预先存好的数据导入到其中,并且进行打印(纸张要设置成横向的)。有哪位对这方面比较了解,请讲解一下,小弟现在已经可以调用Word,但是生成自定义表格比较头大,数据库的关联部分也有部分问题存在。请了解此方面的大哥指点一下
展开
1个回答
2013-11-05
展开全部
刚好前段时间弄过。我把大致的代码粘上你看下吧。是C#的。和你说下思路吧,先在WORD中画好要打印的表,并且设置好,横向的可以在“文件”->“页面设置”里设置。然后把要绑定数据库的部分插入书签。打印的时候调用设计好的那个WORD文件把数据库的内容绑定到书签就行了。首先要在程序中引入COM组件中的Microsoft Word 11。安装的word中要包括.net编程组件和Interop(默认是不安装的)。public void bindAndPrint(){ //绑定Work和数据库Microsoft.Office.Interop.Word.Application app = null;
Microsoft.Office.Interop.Word.Document doc = null;
object missing = System.Reflection.Missing.Value;
object templateFile = Application.StartupPath + @"\word模板.doc";try
{
app = new Microsoft.Office.Interop.Word.ApplicationClass();
doc = app.Documents.Add(ref templateFile, ref missing, ref missing, ref missing);
try
{
foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
{
bm.Select();
string item = bm.Name;
if (item.Equals("title")) //word中的书签名"title"
{
bm.Range.Text = title; //title为要替换书签的变量, //即可以将数据库中的值读入title中
}
}
}
catch
{ } //打印 doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message, this.Text);
} //结束word进程 finally
{
object saveChange = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
if (doc != null) doc.Close(ref saveChange, ref missing, ref missing);
if (app != null) app.Quit(ref missing, ref missing, ref missing);
} break;} 希望能帮到你!
Microsoft.Office.Interop.Word.Document doc = null;
object missing = System.Reflection.Missing.Value;
object templateFile = Application.StartupPath + @"\word模板.doc";try
{
app = new Microsoft.Office.Interop.Word.ApplicationClass();
doc = app.Documents.Add(ref templateFile, ref missing, ref missing, ref missing);
try
{
foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
{
bm.Select();
string item = bm.Name;
if (item.Equals("title")) //word中的书签名"title"
{
bm.Range.Text = title; //title为要替换书签的变量, //即可以将数据库中的值读入title中
}
}
}
catch
{ } //打印 doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message, this.Text);
} //结束word进程 finally
{
object saveChange = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
if (doc != null) doc.Close(ref saveChange, ref missing, ref missing);
if (app != null) app.Quit(ref missing, ref missing, ref missing);
} break;} 希望能帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询