如何用asp将数据库中的数据导出并生成在excel或word中打印

目的:实现客户端操作填完订单生成excel或word形式的发票。网页用asp做的。希望能将数据库中生成发票所需的数据通过asp传递到excel或word模板中,另存该ex... 目的:实现客户端操作填完订单生成excel或word形式的发票。
网页用asp做的。
希望能将数据库中生成发票所需的数据通过asp传递到excel或word模板中,另存该excel或word。
不知道如何做那个模板,如何写那个asp。貌似有点复杂,有人愿意详细解释的可以单M我,谢谢,高分献上。
数据库是Access的,有FSO组件支持
展开
 我来答
kxl361
推荐于2016-06-10 · TA获得超过393个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:857万
展开全部
这个我做过,用asp的话,效率很低,慢得要死~~~而且很容易脚本超时。

后来我是用vb6.0写的dll,然后在asp中调用的。
不知道搂住的服务器可不可以安装dll???

下面是asp中的代码
=====================================================
Set rs2=Server.CreateObject("ADODB.recordset")
sql="select * from eq where eqbumen='"&dep&"' order by eqbumen desc"
rs2.open sql,conn,1,1
set objExcel=CreateObject("Excel.Application")
objExcel.Workbooks.Open(server.mappath("\test")&"\book1.xlt") '打开Excel模板
objExcel.Sheets(1).select '选中工作页
set sheetActive=objExcel.ActiveWorkbook.ActiveSheet
num=2 '从Excel的第2行开始
Do while not rs2.eof '循环直至数据集中的数据写完
strRange="b"&num&":k"&num '设定要填写内容的单元区域
sheetActive.range(strRange).font.size=10 '设定字体大小
sheetActive.range(strRange).WrapText=false '设定文字回卷
sheetActive.range(strRange).ShrinkToFit=true '设定是否自动适应表格单元大小
sheetActive.range(strRange).value=array(rs2("zcid"),rs2("eqname"),rs2("eqchangjia"),rs2("eqxinghao"),rs2("eqnengli"),rs2("eqweizhi"),rs2("eqxianzhuang"),rs2("eqno"),rs2("eqbumen"),rs2("eqchejian")) '把数据集中的数据填写到相应的单元中
num=num+1
rs2.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("\test")&"\temp" '要存放打印临时文件的临时目录
fileName=getTemporaryFile(myFs) '取得一个临时文件名
'myFs.DeleteFile filePos&"*.xls" '删除该目录下所有原先产生的临时打印文件
set myFs=nothing
objExcel.ActiveWorkbook.saveas filePos&filename
objExcel.quit
set objExcel=Nothing
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式