想把用StringGrid产生的表格内容,全部自动导入到一个新文档中,在word中自动生成的表格中填充内容
由于StringGrid进行了表现形式的调整,合并了部分行、列
所以需要对word中的表格也要进行这些合并
现在有以下几个问题:
1、由于有多个StringGrid表格形式,所以需要对生成的word文档中加入多个表格,我希望每一个表格都位于新开始的一页上,
就像在word中有个操作:“插入-》分隔符(下一页)”一样,在delphi中如何用代码控制?
2、自动生成的表格,需要合并单元格或者行、列,不知道怎么用delphi实现?
3、我希望在程序中点击按钮“导出文档”后,就自动弹出一个对话框,类似于windows的下载对话框一样的,询问用户把这个文档存放在什么地方并可以自己取名字,而生成文档、插入表格、填充内容等都是在后台完成的,用户看不见,不知道怎么做?我现在是调用word后,word被打开后,自动生成了表格,然后往表格里面填充内容,所有的操作都是在前台可见的,这样用户会看着word文档一直在闪烁,会看到表格的每一项内容顺序的填充下去,界面不是很友好。下面是我用WordApplication和WordDocument控件写的代码:
try
WordApplication1.Connect ;
except
Beep;
MessageDlg('不能生成文档,请确认是否安装了Word !',mtError,[mbOK],0);
Abort;
end;
//显示Word
WordApplication1.Visible := true ; // 如果是自动存成文档,是否应该是false? //给调用Add函数使用的实参赋值
Template:=EmptyParam;
NewTemplate:=False;
DocumentType:=wdNewBlankDocument;
Visible:=true;
DefaultTableBehavior := true ;
WordApplication1.Documents.Add(Template,NewTemplate,DocumentType,Visible) ;
//连接到新建的文档
itemIndex:=1;
WordDocument1.ConnectTo(WordApplication1.Documents.Item(itemIndex)); //文档另存为
WordDocument1.SaveAs(fileName);
with WordApplication1.Selection do
begin
Font.Size:=20;
Font.Bold:=2;
Paragraphs.Alignment:=wdAlignParagraphCenter;
TypeText('特性表');
TypeParagraph; //换行 // 在指定文档中插入表格
Font.Size := 8 ;
Font.Bold := 1 ;
TypeParagraph; //换行
WordTable := WordDocument1.Tables.Add(
WordApplication1.Selection.Range,
WordRows,
WordCols,
DefaultTableBehavior,
AutoFitBehavior) ;
end;
4、程序里里面有个几个chart的图显示在同一个form中,怎么把这个显示界面抓图下来,然后可以自动插入到word表格新的一页中?
这样所有的表格、图最后就相当于自动生成一个报告一样的东西!
高分求教!回答的越细致越好,最后附上代码!谢谢!
由于StringGrid进行了表现形式的调整,合并了部分行、列
所以需要对word中的表格也要进行这些合并
现在有以下几个问题:
1、由于有多个StringGrid表格形式,所以需要对生成的word文档中加入多个表格,我希望每一个表格都位于新开始的一页上,
就像在word中有个操作:“插入-》分隔符(下一页)”一样,在delphi中如何用代码控制?
2、自动生成的表格,需要合并单元格或者行、列,不知道怎么用delphi实现?
3、我希望在程序中点击按钮“导出文档”后,就自动弹出一个对话框,类似于windows的下载对话框一样的,询问用户把这个文档存放在什么地方并可以自己取名字,而生成文档、插入表格、填充内容等都是在后台完成的,用户看不见,不知道怎么做?我现在是调用word后,word被打开后,自动生成了表格,然后往表格里面填充内容,所有的操作都是在前台可见的,这样用户会看着word文档一直在闪烁,会看到表格的每一项内容顺序的填充下去,界面不是很友好。下面是我用WordApplication和WordDocument控件写的代码:
try
WordApplication1.Connect ;
except
Beep;
MessageDlg('不能生成文档,请确认是否安装了Word !',mtError,[mbOK],0);
Abort;
end;
//显示Word
WordApplication1.Visible := true ; // 如果是自动存成文档,是否应该是false? //给调用Add函数使用的实参赋值
Template:=EmptyParam;
NewTemplate:=False;
DocumentType:=wdNewBlankDocument;
Visible:=true;
DefaultTableBehavior := true ;
WordApplication1.Documents.Add(Template,NewTemplate,DocumentType,Visible) ;
//连接到新建的文档
itemIndex:=1;
WordDocument1.ConnectTo(WordApplication1.Documents.Item(itemIndex)); //文档另存为
WordDocument1.SaveAs(fileName);
with WordApplication1.Selection do
begin
Font.Size:=20;
Font.Bold:=2;
Paragraphs.Alignment:=wdAlignParagraphCenter;
TypeText('特性表');
TypeParagraph; //换行 // 在指定文档中插入表格
Font.Size := 8 ;
Font.Bold := 1 ;
TypeParagraph; //换行
WordTable := WordDocument1.Tables.Add(
WordApplication1.Selection.Range,
WordRows,
WordCols,
DefaultTableBehavior,
AutoFitBehavior) ;
end;
4、程序里里面有个几个chart的图显示在同一个form中,怎么把这个显示界面抓图下来,然后可以自动插入到word表格新的一页中?
这样所有的表格、图最后就相当于自动生成一个报告一样的东西!
高分求教!回答的越细致越好,最后附上代码!谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货