我的问题,关于foxpro打印的 !type e:\csy\csy.prn >prn 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 copy 的外部命令不能铐贝到打印机 !copy e:\csy\csy.prn prn /b 我们这里都是先用程序在excel里生成报表。再打印excel.代码如下:程序名:toexcel.prgpara tablenameset esca onwait "按esc键取消!" window AT 20,30 timeout 1HB1=createobject("EXCEL.APPLICATION")HB1.application.visible=.t.HB1.workbooks.addHB1.SHEETS("SHEET1").selectsele (tablename)hbdygs="A1:"+chr(fcount()+64)+"2"HB1.range(hbdygs).selectHB1.selection.HorizontalAlignment = 3 &&水平方向 2左对齐,3居中,4右对齐HB1.selection.VerticalAlignment = 2 &&垂直方向 1靠上,2居中,3靠下HB1.selection.WrapText = .f. && ??HB1.selection.orientation = 0 && ??HB1.selection.AddIndent = .f. && ??HB1.selection.ShrinkToFit = .f. && ??HB1.selection.MergeCells = .t. && ??HB1.ActiveCell.FormulaR1C1 = "请输入报表标题"HB1.ActiveCell.Characters.font.name = "隶书"HB1.ActiveCell.Characters.font.FontStyle = "常规"HB1.ActiveCell.Characters.font.ColorIndex = 1 &&字符颜色for i=66 to fcount()+65 columnname=chr(i-1)+"3" activecellname=columnname cvalue=allt(field(i-65)) if vartype(&cvalue)="C" select max(len(alltrim(&cvalue))) from (tablename) into array awidth mx=awidth hb1.range(activecellname+":"+activecellname).columnwidth=mx*1.5 else if vartype(&cvalue)$"NYFI" select max(len(alltrim(str(&cvalue,12,2)))) from (tablename) into array awidth mx=awidth hb1.range(activecellname).columnwidth=mx*1.5 endif endif HB1.range(activecellname).FormulaR1C1=cvalueendforj=4go topdo while not eof() for s=66 to fcount()+65 columnname=chr(s-1)+allt(str(j)) activecellname=columnname cvalue=allt(field(s-65)) if vartype(&cvalue)="C" HB1.range(activecellname).FormulaR1C1="'"+allt(&cvalue) else if vartype(&cvalue)$"NYFI" HB1.range(activecellname).FormulaR1C1=&cvalue endif endif endfor skip j=j+1 enddo * HB1.ACTIVEWORKBOOK.SAVE &&自动保存数据* HB1.ACTIVEWORKBOOK.CLOSE &&关闭当前工作簿* HB1.QUIT 使用方法打印按钮里do toexcel with 'tablename'把参数中tablename转换成你要打印的表.你可以换成你想要打印的表名 如何获得表的行号 关于全局变量,显示事物,索引的3个弱弱的问题!!望高手解惑 救命救命救命救命救命救命救命救命救命救命救命救命救命救命救命救命救命救命救命 數據類型問題,請指教 sql语句 二个记录集相减的SQL怎么写,谢谢 sqlserver2000中触发器的问题 请教数据库多表查询统计问题! 请教给数据表加锁的写法? 询问一个基础问题select * from 假LIKE的问题 关于SQL SERVER数据同步问题,高手一定请进 一个数据库文件XXX.DB,怎么判断它是属于哪一个数据库系统的数据库文件
程序名:toexcel.prg
para tablenameset esca onwait "按esc键取消!" window AT 20,30 timeout 1
HB1=createobject("EXCEL.APPLICATION")
HB1.application.visible=.t.
HB1.workbooks.add
HB1.SHEETS("SHEET1").selectsele (tablename)
hbdygs="A1:"+chr(fcount()+64)+"2"HB1.range(hbdygs).selectHB1.selection.HorizontalAlignment = 3 &&水平方向 2左对齐,3居中,4右对齐
HB1.selection.VerticalAlignment = 2 &&垂直方向 1靠上,2居中,3靠下
HB1.selection.WrapText = .f. && ??
HB1.selection.orientation = 0 && ??
HB1.selection.AddIndent = .f. && ??
HB1.selection.ShrinkToFit = .f. && ??
HB1.selection.MergeCells = .t. && ??
HB1.ActiveCell.FormulaR1C1 = "请输入报表标题"
HB1.ActiveCell.Characters.font.name = "隶书"
HB1.ActiveCell.Characters.font.FontStyle = "常规"
HB1.ActiveCell.Characters.font.ColorIndex = 1 &&字符颜色
for i=66 to fcount()+65
columnname=chr(i-1)+"3"
activecellname=columnname
cvalue=allt(field(i-65))
if vartype(&cvalue)="C"
select max(len(alltrim(&cvalue))) from (tablename) into array awidth
mx=awidth
hb1.range(activecellname+":"+activecellname).columnwidth=mx*1.5
else
if vartype(&cvalue)$"NYFI"
select max(len(alltrim(str(&cvalue,12,2)))) from (tablename) into array awidth
mx=awidth
hb1.range(activecellname).columnwidth=mx*1.5
endif
endif
HB1.range(activecellname).FormulaR1C1=cvalueendforj=4
go top
do while not eof()
for s=66 to fcount()+65
columnname=chr(s-1)+allt(str(j))
activecellname=columnname
cvalue=allt(field(s-65))
if vartype(&cvalue)="C"
HB1.range(activecellname).FormulaR1C1="'"+allt(&cvalue)
else
if vartype(&cvalue)$"NYFI"
HB1.range(activecellname).FormulaR1C1=&cvalue
endif
endif
endfor
skip
j=j+1
enddo
* HB1.ACTIVEWORKBOOK.SAVE &&自动保存数据
* HB1.ACTIVEWORKBOOK.CLOSE &&关闭当前工作簿
* HB1.QUIT 使用方法打印按钮里do toexcel with 'tablename'
把参数中tablename转换成你要打印的表.你可以换成你想要打印的表名