发信人: parislenin(精通雕虫小技的)
整理人: pengxiaohui(2002-09-17 14:35:57), 站内信件
|
兄弟我这段时间在给一企业写了一个数据管理的过程中,由于对方要求按客户订单将数据录入EXCEL以便送交财务开发票和给客户校对订单,在本机测试成功.特献出共享.
-------------源文件开始----------
<%@ language="vbscript" %>
<html><head>
<meta http-equiv=content-language content=zh-cn>
<meta http-equiv=content-type content=text/html; charset=gb2312>
<meta http-equiv=pragma content=no-cache>
<title>客户发票Excel生成</title></head>
<body marginheight=0 marginwidth=0>
<%
'----第一步:依据订单号生成文件名
dim getpoc,fname,fnames
getpoc=ucase(trim(request("poc")))'此为指定订单号码
fname="PI"&getpoc'获得主文件名
fnames=fname&"_"&year(now())&"_"&month(now())&"_"&day(now())&"_"&hour(now())&"_"&minute(now())&"_"&second(now())'副文件名
'说明:在不同时间可能会对同一张订单多次生成发票文件,
'如果使用主文件名生成EXCEL,当第二次生成时,服务器
'创建的新文件名与已经存在的旧文件名相同时会出现创建错误。
'基于上述理由,现发票文件名改为在主格式上添加生成时间以示区别。
server.scripttimeout=360
response.buffer= true
response.expires=0
'----第二步:从数据库中读数据并写入excel保存
data_n="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("abc.mdb")
set conn=server.createobject("ADODB.Connection")
conn.open data_a
dim exceldir
exceldir="excellib"'Excel文件子目录
set rs=server.createobject("adodb.recordset")
sql="select * from 数据表 where 订单号='"&getpoc&"' order by id"
rs.open sql,conn,1,1
dim xlworksheet,xlapplication,irow
set xlapplication=createobject("excel.application")
xlapplication.visible=false
xlapplication.workbooks.add
set xlworksheet=xlapplication.worksheets(2)'在第二个工作表内写数据
'新EXECL仅三个工作表,你可以依据需要确定位置,如worksheets(1)或worksheets(3)
xlworksheet.cells(1,1).value="我方订单号"
'在第一行第一列单元格写入上述内容,以下类同
xlworksheet.cells(1,1).interior.colorindex=36
'设置第一行第一列单元格颜色
xlworksheet.cells(1,2).value="客户方订单号"
xlworksheet.cells(1,2).interior.colorindex=36
xlworksheet.cells(1,3).value="订单明细序号"
xlworksheet.cells(1,3).interior.colorindex=36
xlworksheet.cells(1,4).value="物料"
xlworksheet.cells(1,4).interior.colorindex=36
xlworksheet.cells(1,5).value="数量"
xlworksheet.cells(1,5).interior.colorindex=36
xlworksheet.cells(1,6).value="单价"
xlworksheet.cells(1,6).interior.colorindex=36
xlworksheet.cells(1,7).value="总价"
xlworksheet.cells(1,7).interior.colorindex=36
xlworksheet.cells(1,8).value="备注"
xlworksheet.cells(1,8).interior.colorindex=36
xlworksheet.cells(2,1).value=""
xlworksheet.cells(2,1).interior.colorindex=36
xlworksheet.cells(2,2).value=""
xlworksheet.cells(2,2).interior.colorindex=36
xlworksheet.cells(2,3).value=""
xlworksheet.cells(2,3).interior.colorindex=36
xlworksheet.cells(2,4).value="(编号)"
xlworksheet.cells(2,4).interior.colorindex=36
xlworksheet.cells(2,5).value="(单位:只)"
xlworksheet.cells(2,5).interior.colorindex=36
xlworksheet.cells(2,6).value="(元/只)"
xlworksheet.cells(2,6).interior.colorindex=36
xlworksheet.cells(2,7).value="(元)"
xlworksheet.cells(2,7).interior.colorindex=36
xlworksheet.cells(2,8).value=""
xlworksheet.cells(2,8).interior.colorindex=36
irow=3
'设置从第3行开始写入数据
if not(rs.bof or rs.eof or err) then
do while not(rs.bof or rs.eof or err)
'以下为我表中字段,你按你的表中字段修改
xlworksheet.cells(irow,1).value=rs("po_m")
xlworksheet.cells(irow,1).interior.colorindex=0
xlworksheet.cells(irow,2).value=rs("po_c")
xlworksheet.cells(irow,2).interior.colorindex=0
xlworksheet.cells(irow,3).value=rs("pnno")
xlworksheet.cells(irow,3).interior.colorindex=0
xlworksheet.cells(irow,4).value=rs("p_code")
xlworksheet.cells(irow,4).interior.colorindex=0
xlworksheet.cells(irow,5).value=rs("qty_p")
xlworksheet.cells(irow,5).interior.colorindex=0
xlworksheet.cells(irow,6).value=formatnumber(rs("sale_p"))
xlworksheet.cells(irow,6).interior.colorindex=0
xlworksheet.cells(irow,7).value=formatnumber(rs("sale_a"))
xlworksheet.cells(irow,7).interior.colorindex=0
xlworksheet.cells(irow,8).value=rs("remark")
xlworksheet.cells(irow,8).interior.colorindex=0
irow=irow+1
rs.movenext
loop
end if
xlworksheet.saveas server.mappath(".")&"\"&exceldir&"\"&fnames&".xls"
xlapplication.quit' close the workbook
set xlworksheet=nothing
set xlapplication=nothing
rs.close
%>
<p>发票文件成功生成!</p>
生成发票名应为<%=fname%>.XLS,但系统生成的发票文件只能控制数据,不能控制格式(比如字体等),此次生成的仅算发票草稿。
另外,在不同时间可能会对同一张订单多次生成发票文件,当第二次生成时,服务器创建的新文件名与已经存在的旧文件名相同时会出现创建错误。
基于上述理由,现发票文件名改为<%=fnames%>.XLS,及在主格式上添加时间以示区别。请诸君下载后自行修改发票文件名。
如果要下载发票,请在『下载发票』的链接上按鼠标右键选择『目标另存为』下载到你使用的电脑上。
<a href="<%=exceldir&"/"&fnames%>.xls">按此点鼠标右键选择『目标另存为』下载发票文件
如果你有兴趣可以编写一个生成后的EXCEL文件管理系统,并进行查看生成情况,删除生成记录及EXCEL文件的操作
<%
set rs=nothing
conn.close
set conn=nothing
response.flush
%>
</center></div>
</body></html>
----------------源文件结束----
---- 生不逢时是不能适应挑战的体现
怀才不遇是没有把握机会的借口
我有时很无聊,但绝不耍无赖
兴趣爱好广泛,精通雕虫小技
庞磊
http://www.isease.com
http://www.isease.net |
|