set objExcel=CreateObject("Excel.Application")
objExcel.Workbooks.Open(server.mappath("excel.xlt")) '打开Excel模板
objExcel.Sheets(1).select '选中工作页
set sheetActive=objExcel.ActiveWorkbook.ActiveSheet
sheetActive.range("g4").value=date()
num=7 '从Excel的第七行开始
'连接数据库
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath("access.mdb")
sql="select * from booktable order by id desc"
Set adoRset=Server.CreateObject("ADODB.recordset")
Set adoRset=Conn.Execute(sql)
do until adoRset.EOF '循环直至数据集中的数据写完
strRange="d"&num&":f"&num '设定要填写内容的单元区域
sheetActive.range(strRange).font.size=10 '设定字体大小
sheetActive.range(strRange).WrapText=false '设定文字回卷
sheetActive.range(strRange).ShrinkToFit=true '设定是否自动适应表格单元大小
sheetActive.range(strRange).value=array(adoRset("bookid"),adoRset("bookname"),adoRset("author")) '把数据集中的数据填写到相应的单元中
num=num+1
adoRset.MoveNext
loop
'内部函数取得临时文件名字
function getTemporaryFile(myFileSystem)
dim tempFile,dotPos
tempFile=myFileSystem.getTempName
dotPos=instr(1,tempFile,".")
getTemporaryFile=mid(tempFile,1,dotPos)&"xls"
end function
set myFs=createObject("scripting.FileSystemObject")
filePos=server.mappath(".")'要存放打印临时文件的临时目录
fileName=getTemporaryFile(myFs) '取得一个临时文件名
'myFs.DeleteFile filePos&"*.xls" '删除该目录下所有原先产生的临时打印文件
set myFs=nothing
'Excel临时文件的保存代码为:
objExcel.ActiveWorkbook.saveas filePos&filename
'退出Excel应用
objExcel.quit
set objExcel=Nothing
這個行不行?
<html>
<head>
<title>excel print test</title>
<SCRIPT LANGUAGE="VBSCRIPT">
SUB DoPreview
On Error Resume Next
Set app = CreateObject("Excel.Application")
If Err.Number <> 0 Then
MsgBox("请启用浏览器安全设置中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”")
Else
Set wb = app.Workbooks.Add("http://localhost/svr/test2.asp")
app.Visible = true
wb.PrintPreview()
app.Visible = false
wb.Close()
Set wb = Nothing
Set app = Nothing
End If
END SUB
SUB DoExecute
'On Error Resume Next
Set app = CreateObject("WScript.Shell")
'Set app = CreateObject("Outlook.Application")
If Err.Number <> 0 Then
MsgBox("请启用浏览器安全设置中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”")
Else
app.Exec("%ProgramFiles%\Outlook Express\msimn.exe")
'MsgBox("ok")
End If
END SUB
</script>
</head>
<body>
<INPUT TYPE=BUTTON VALUE="打印" onClick="DoPreview">
<INPUT TYPE=BUTTON VALUE="打开" onClick="DoExecute">
</body>
</html>