装Office时,有一个文件,VBAXL8.HLP是应用VBA的帮助,应该有些参考价值,我也一直在研究Excel处理方法,应用OLE是一种极耗资源的方法!有这方面的资料或方法,多交流QQ:25857100,我一直在线!E_mail:[email protected]!
解决方案 »
- 谁解决这个问题,给足够分,不够再开帖给分!
- 请问大家有什么方法可以控制用打开的文件只能浏览,不允许做其它任何动作(如:编辑,复制)呢?急
- 美化界面所需
- 求fastreport2.5注册版急
- 谁能告诉我sql中对有小时,分,秒的datetime类型如何只取年月日
- 100分:怎样实现这个功能?
- 我想统计一个字段的总数sql语句如何写?谢谢!(抱歉.没多少分了.只能说声谢谢了)
- DELPHI怎么读取其它程序QWidget类里的数据?
- 急!在DELPHI编程中如何实email地址查找??(有分送哦!)
- 100分求怎样在动态添加SQL的Query中使用UPdateSQL
- 那 里 有DAO3.6
- 如何从当前Query的缓冲区中读出相关数据并得到最值?
格、设置网格线之类的麻烦啊,就象外部运行EXCEL一样。如果你说的是程序实现合并单
元格和设置网格线,如果找到资料请贴出来大家共享好不好?终于被我发现一篇:
利用Excel实现数据录入及打印预览(原创) - 浏览121次 Excel强大的数据录入功能极打印预览功能是其他大多数程序望尘莫及的,能不能在我们自己编的程序中调用Excel的数据录入功能及预览功能呢。实际上,使用Delphi你能完全控制Excel或Word的所有功能。虽然来自Excel对象层次内部非常复杂,但我们通过使用Variant(在OLE自动化中使用的Delphi的安全数组版本)通常可以简洁,容易的实现对Excel的控制。
下面,我将我实际运用的一些方法介绍给大家:1.启动Excel 在Uses中加入Comobj;var
v:Variant;
begin
v:=CreateOleobject(‘Excel.Application’);
v.Visible:=true;
end; 其中,Comobj中包含了用来检索OLE的对象和向其传发命令的例程,第一行代码启动Excel,执行后Excel会在内存中出现,因此第二行代码使之可见。2.关闭Excel 在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。If not varIsEmpty(v) then v.quit; 如果需要在关闭前确定是否存盘,加入:v.DiaplayAlert:=true; //确定存盘
v.DiaplayAlert:=false;//不存盘,直接退出
(//Fox注:此处有待商榷。原文无)
3.加入工作表及对其表格内容的操作var
Sheet: Variant;
begin
v.workbook.add;
v.Workbooks.Add;
v.Workbooks[1].WorkSheets[1].Name := '数据录入';
Sheet:= v.Workbooks[1].WorkSheets['数据录入'];
Sheet.Cells[1,1] :='试验'; Label1.Caption:=Sheet.Cells[1,1];
End; Sheet对象是很多页的集合,其他的Workbooks是工作薄的集合,WorkSheets对象是工作表的集合,Charts对象是图表的集合。4.格式的设置var
Range: Variant;
begin
Range := v.Workbooks[1].WorkSheets['数据录入'].Range['A2:M2’];
//单元格从A2到M2
Range.Merge; //合并单元格
Range.Rows.RowHeight := 20; //设置行高
Range.Borders.LineStyle := 1; //加边框
Range.Columns[2].ColumnWidth := 12; // 设置列宽
Range.FormulaR1C1 := '标题';
Range.HorizontalAlignment := xlCenter; //水平对齐方式
Range.VerticalAlignment := xlCenter; //垂直对齐方式
Range.Characters.Font.Name := '宋体'; //字体
Range.Characters.Font.FontStyle := '加粗';
Range.Characters.Font.Size := 12;
Range.Characters.Font.OutlineFont := False; //是否有下划线
Range.Characters.Font.ColorIndex := xlAutomatic; //颜色
end; 其他的属性可以察看MSDN或者其他资料。5. 打印的设置var
Sheet: Variant;
begin
Sheet := XLApp1.Workbooks[1].WorkSheets['数据录入'];
Sheet.PageSetup.PrintTitleRows :='$1:$3'; //页眉
Sheet.PageSetup.PrintTitleColumns := '';
Sheet.PageSetup.LeftFooter := ' 注:页脚'+' 总共&N页'+'--第&P页'; //页脚
Sheet.PageSetup.LeftMargin := 30; //设置边距
Sheet.PageSetup.RightMargin := 30;
Sheet.PageSetup.TopMargin := 30;
Sheet.PageSetup.BottomMargin := 50;
Sheet.PageSetup.PrintQuality := 400; //分辨率
Sheet.PageSetup.CenterHorizontally := True;//是否水平居中
Sheet.PageSetup.CenterVertically := True; //是否垂直居中
Sheet.PageSetup.Orientation := 2; //横向打印
Sheet.PageSetup.Draft := False; //非草稿模式
Sheet.PageSetup.FirstPageNumber := xlAutomatic;
Sheet.PageSetup.BlackAndWhite := True; //黑白稿
Sheet.PageSetup.Zoom := 100; //缩放
sheet.PrintPreView; //打印预览
end; 好了,到这,我已经介绍了大部分常用的控制方法,试试吧。提醒你,你的机子装了Excel没有……
(演示代码及程序下载 - 183k) 作者:万重(转载请保持完整)
2000.6.9
其中1:常规;2:左缩进;3:居中;4:靠右;5:填充
对于 Range.VerticalAlignment := 2;
其中1:靠上;2:居中;3:靠下;4:两端对齐