HB1.Selection.ShrinkToFit = .F. && ?? HB1.Selection.MergeCells = .T. && ??
HB1.Range(hbdygs).FormulaR1C1 = \请输入报表标题\HB1.Range(hbdygs).Characters.Font.Name = \隶书\HB1.Range(hbdygs).Characters.Font.FontStyle = \常规\
HB1.Range(hbdygs).Characters.Font.ColorIndex = 1 &&字符颜色 ***根据数据源表结构的宽度设置列的宽度******** Copy Stru Exte To temp\\term_stru Sele 0
Use temp\\term_stru Select (ctablename) For i=1 To nfieldcount cvalue=Allt(Field(i)) Select term_stru
Loca For Lower(Allt(field_name))==cvalue If Found()
columnname=Chr(i+64)+\
hb1.Columns(columnname).ColumnWidth=field_len Endif
Sele (ctablename) Endfor
Sele term_stru Use
activecellname=Chr(nfieldcount+64)+Allt(Str(nreccount+3)) *************设置数据区域的字体格式***************
HB1.Range(\宋体\HB1.Range(\HB1.Range(\hb1.Selection.BorderS(1).LineStyle = .T. hb1.Selection.BorderS(2).linestyle = .T. hb1.Selection.BorderS(3).linestyle = .T. hb1.Selection.BorderS(4).linestyle = .T. hb1.ActiveWorkbook.SaveAs(\hb1.Application.Visible=.T.
* HB1.ACTIVEWORKBOOK.SAVE &&自动保存数据 * HB1.ACTIVEWORKBOOK.CLOSE &&关闭当前工作簿 * HB1.QUIT
*!* 76.如何修改sheet工作表名: EFILENAME='D:\\TEST\\TEMPA.XLS' oExcel=Createobject(\oExcel.Workbooks.Open(\oExcel.Visible=.T.
oExcel.Worksheets(\
oExcel.Worksheets(\这里的NewSheet为新的名字。 *!* 77.复制Sheet工作表
EFILENAME='D:\\你的Excel表名.XLS' oExcel=Createobject(\oExcel.Workbooks.Open(\oExcel.Visible=.T.
oExcel.SHEETS(1).Select
oExcel.SHEETS(1).Copy(Null,oExcel.SHEETS(1)) &&&&把第1个工作表复制到第1个工作表之后
oExcel.SHEETS(2).Name='NewSheetName' &&设置第2个工作表名称
*!*oExcel.SHEETS(1).COPY(oExcel.SHEETS(1),NULL) &&&&把第1个工作表复制到第1个工作表之前
*!*oExcel.SHEETS(1).NAME='NewSheetName' &&设置第1个工作表名称
*!* 78.如何将DBF中内容COPY到EXCEL的指定区域 例如我有一个DBF: Name_F Sl_f Mike 546 kyle 200
想将这个内容转到EXCEL里面的E1:F2区域! Use 表名
_vfp.DataToClip('表名',Reccount(),3) &&将一组记录作为文本复制到剪贴板上,3使用制表符分隔字段。
oexl=Createobject('excel.application') &&创建电子表格 oexl.Visible=.T. &&使电子表格可见 oexl.workbooks.Add &&创建工作簿 With oexl
.Range(\根据你的表中的记录数和字段数调整此项中的'F2' .ActiveSheet.Paste Endwith
*!* 79.VFP调用EXCEL查询打印示例 EFILENAME='查询打印.XLS' *LOCAL oExcel
oExcel=Createobject(\oExcel.Workbooks.Open(\
oExcel.Caption=\应用程序调用Microsoft Excel\oExcel.Worksheets(\查询打印\oExcel.Visible=.T.
nRows=oExcel.Worksheets('查询打印').UsedRange.Rows.Count
nColumns=oExcel.Worksheets('查询打印').UsedRange.Columns.Count
oExcel.Range(oExcel.Cells(1,1),oExcel.Cells(nRows,nColumns)).BorderS.LineStyle=1 oExcel.Range(oExcel.Cells(1,1),oExcel.Cells(nRows,nColumns)).HorizontalAlignment=3 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)
oExcel.Range(oExcel.Cells(1,1),oExcel.Cells(nRows,nColumns)).VerticalAlignment=2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)
oExcel.ActiveSheet.PageSetup.RightFooter=\第&P页 / 共&N页\
oExcel.ActiveSheet.PageSetup.TopMargin=2/0.035 &&设置顶边距为2厘米 oExcel.ActiveSheet.PageSetup.BottomMargin=2/0.035 &&设置左边距为2厘米
oExcel.ActiveSheet.PageSetup.HeaderMargin=1/0.035 &&设置页眉到顶端边距为1厘米 oExcel.ActiveSheet.PageSetup.FooterMargin=1/0.035 &&设置页脚到底边距为1厘米 oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.035 &&设置左边距为2厘米 oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035 &&设置右边距为2厘米 oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T. &&设置页面水平居中 oExcel.ActiveSheet.PageSetup.CenterVertically=.T. &&设置页面垂直居中 oExcel.ActiveSheet.PageSetup.Zoom=90 &&缩放90% oExcel.Cells.Select
oExcel.Cells.EntireColumn.AutoFit oExcel.Selection.AutoFilter
oExcel.ActiveSheet.Rows(1).Insert
oExcel.Range(\oExcel.Range(\
oExcel.ActiveSheet.Columns(1).ColumnWidth=3 oExcel.ActiveSheet.Columns(1).ColumnWidth=4 oExcel.Range(\
*oExcel.RANGE(\ALUE='统计月份:'+ALLTRIM(STR(YEAR(KKS_DATE1)))+'年'+ALLTRIM(STR(MONTH(KKS_DATE1)))+'月 - '+ALLTRIM(STR(YEAR(KKE_DATE1)))+'年'+ALLTRIM(STR(MONTH(KKE_DATE1)))+'月'
oExcel.ActiveSheet.PageSetup.CenterHeader=\部 门 出 勤 统 计 表\oExcel.ActiveSheet.PageSetup.CenterFooter=\单位领导:\
oExcel.ActiveSheet.PageSetup.LeftFooter=\打印时间:&D - &T\oExcel.Selection.AutoFilter
oExcel.ActiveSheet.Range('B2').Select
oExcel.ActiveSheet.PageSetup.PrintTitleRows=\
oExcel.ActiveSheet.PageSetup.Orientation=2 && 1:纵向打印 2:横向打印 oExcel.ActiveWorkbook.Save *!* 80.Excel报表巧生成
巧让FoxPro数据生成Excel报表
Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。 Excel报表
具体过程如下: 编辑推荐文章
● 新鲜接触Excel 2000 XP
● Excel 2000公式应用的几条经验 ● Excel 2000函数应用之信息函数
假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。
部分程序代码如下:
m.outfilename=Putfile('输出结果','agcallop','xls') &&取导出文件名称
ef=Createobject('Excel.application') &&调用Excel程序 ef.Workbooks.Add &&添加工作簿
ef.Worksheets(\&&激活第一个工作表 ef.Visible=.T.
&&显示Excel界面 ef.Cells.Select &&选择整张表
ef.Selection.Font.Size = 10
&&设置整表默认字体大小为10 Select 0 Use agcallop
&&选择被导出的表 num=Reccount() &&求导出总记录数 Go Top i=5
ef.Range(\&&选择标题栏所在单元格 ef.Selection.Merge &&合并单元格
With ef.Range(\
&&设置标题及字体属性
.Value='客户服务部业务代表工作量情况统计表' .Font.Name=\黑体\ .Font.Size=18 Endwith
ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为1cm ef.Range(\
&&选定统计条件栏所在单元格 ef.Selection.Merge &&合并单元格
ef.Range(\
ef.Range(\