Sub Initialize
On Error Goto errmsg
''''''''''''''''''''''''''''''''''''''''''''''''
'程序名:ExportToExcel
'功 能:導出Excel代理
''''''''''''''''''''''''''''''''''''''''''''''''
Print |Content-Type:application/vnd.ms-excel;charset=GBK|
Print |<meta http-equiv="Content-Type" content="text/html; charset=GBK">|
print |<style>|
pint |.xlstext{mso-number-format:"\@";}|
print |</style>|
print |<td class="xlstext">fsd</td>|
下面把mso-number-format 定義數據格式的css樣式羅列下:
mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text (目前只用過)
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
發現導出的文件名如果是中文,會出現亂碼問題
String fileName="補充類型網站人員工作量考覈表.xls";
response.setContentType("application/octet-stream");
response.addHeader("content-type", "application/x-msdownload;");
response.setHeader("Content-disposition", "attachment; filename="+ new String(fileName.getBytes("gb2312"),"ISO8859-1"));
Dim s As New notessession
Dim doc As NotesDocument
Dim contextDoc As NotesDocument
Dim db As NotesDatabase
Dim dcs As NotesDocumentCollection
Dim dateTime As New NotesDateTime(2000-01-01)
Dim nextDateTime As NotesDateTime
Dim stDate As NotesDateTime
Dim edDate As NotesDateTime
Dim dtDate As notesdatetime
Dim ritem As notesitem
Dim car As String
Dim tnum As Integer
tnum=0
Dim searchformula As String
Dim view As NotesView
Dim htmlstr As String
Set db = s.CurrentDatabase
Set contextDoc=s.documentcontext
car=contextDoc.car(0)
Set view=db.GetView("viewDocByTime")
Set stDate=New notesdatetime(contextDoc.startDate(0))
Set edDate=New notesdatetime(contextDoc.endDate(0))
If Cstr(stDate.DateOnly)="" And Cstr(edDate.DateOnly)="" Then
Dim result As Variant
Dim j As Integer
Dim DateStr As String
Dim MStr As String
Dim DStr As String
result = Evaluate("@DbColumn('': '' ;'': @Subset(@DbName;-1); 'viewDocByTime' ; 1)", doc)
For j = 0 To Ubound(result)
Set dcs=view.GetAllDocumentsByKey(result(j),True)
If dcs.count>0 Then
MStr=Cstr(Format$(result(j),"mm"))
DStr=Cstr(Format$(result(j),"dd"))
'DateStr=Cstr(Cint(MStr))+"月"+Cstr(Cint(DStr))+"日"
DateStr=Cstr(Format$(result(j),"yyyy年mm月dd日"))
'htmlstr = htmlstr & "<style>TD{FONT-FAMILY: 宋體; FONT-SIZE: 10pt;}</style><center><h2><b>|+DateStr+|用車情況</b><h2></center>"
htmlstr = htmlstr & "<table border=1>"
htmlstr = htmlstr+ "<tr>"
htmlstr = htmlstr+ "<td colspan='8' align='center'><b>"+DateStr$+"用車情況"+"</b></td>"
htmlstr = htmlstr+ "</tr>"
htmlstr = htmlstr & "<tr>"
htmlstr = htmlstr & "<td width='8%' height='19' align='center' bgcolor='#ffffff'><b>司機</b></td>"
htmlstr = htmlstr & "<td width='8%' height='19' align='center' bgcolor='#ffffff'><b>時間</b></td>"
htmlstr = htmlstr & "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>部門</b></td>"
htmlstr = htmlstr & "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>目的地</b></td>"
htmlstr = htmlstr & "<td width='10%' height='19' align='center' bgcolor='#ffffff'><b>車號</b></td>"
htmlstr = htmlstr & "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>出發時間</b></td>"
htmlstr = htmlstr & "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>預計回站時間</b></td>"
htmlstr = htmlstr & "<td width='30%' height='19' align='center' bgcolor='#ffffff'><b>事由</b></td>"
htmlstr = htmlstr & "</tr>"
For i=1 To dcs.Count
Set doc = dcs.GetNthDocument(i)
If Not doc Is Nothing Then
If car=doc.car(0) Or car="*" Then
tnum=tnum+1
htmlstr = htmlstr+ "<tr>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.Fd_Driver(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.SelDate(0)+":"+doc.SelMinute(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.Fd_Dept(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.dest(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.car(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.StartDate(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.EndDate(0)+"</td>"
Set ritem =doc.getfirstitem("Body")
If Not ritem Is Nothing Then
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+ritem.text+"</td>"
Else
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'></td>"
End If
htmlstr = htmlstr+ "</tr>"
End If
End If
Next
htmlstr = htmlstr+ "</table>"
End If
Next
Else
While Not (Cstr(Format$(stDate.LocalTime,"yyyy-mm-dd"))>Cstr(Format$(edDate.LocalTime,"yyyy-mm-dd")))
Set dcs=view.GetAllDocumentsByKey(Cstr(Format$(stDate.LocalTime,"yyyy-mm-dd")),True)
If dcs.count>0 Then
MStr$=Cstr(Format$(stDate.LocalTime,"mm"))
DStr$=Cstr(Format$(stDate.LocalTime,"dd"))
'DateStr$=Cstr(Cint(MStr$))+"月"+Cstr(Cint(DStr$))+"日"
DateStr=Cstr(Format$(stDate.LocalTime,"yyyy年mm月dd日"))
'htmlstr = htmlstr+ "<style>TD{FONT-FAMILY: 宋體; FONT-SIZE: 10pt;}</style><center><h2><b>"+DateStr$+"用車情況</b><h2></center>"
htmlstr = htmlstr+ "<table border=1>"
htmlstr = htmlstr+ "<tr>"
htmlstr = htmlstr+ "<td colspan='8' align='center'><b>"+DateStr$+"用車情況"+"</b></td>"
htmlstr = htmlstr+ "</tr>"
htmlstr = htmlstr+ "<tr>"
htmlstr = htmlstr+ "<td width='8%' height='19' align='center' bgcolor='#ffffff'><b>司機</b></td>"
htmlstr = htmlstr+ "<td width='8%' height='19' align='center' bgcolor='#ffffff'><b>時間</b></td>"
htmlstr = htmlstr+ "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>部門</b></td>"
htmlstr = htmlstr+ "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>目的地</b></td>"
htmlstr = htmlstr+ "<td width='10%' height='19' align='center' bgcolor='#ffffff'><b>車號</b></td>"
htmlstr = htmlstr+ "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>出發時間</b></td>"
htmlstr = htmlstr+ "<td width='15%' height='19' align='center' bgcolor='#ffffff'><b>預計回站時間</b></td>"
htmlstr = htmlstr+ "<td width='30%' height='19' align='center' bgcolor='#ffffff'><b>事由</b></td>"
htmlstr = htmlstr+ "</tr>"
For i=1 To dcs.Count
Set doc = dcs.GetNthDocument(i)
If Not doc Is Nothing Then
If car=doc.car(0) Or car="*" Then
tnum=tnum+1
htmlstr = htmlstr+ "<tr>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.Fd_Driver(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.SelDate(0)+":"+doc.SelMinute(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.Fd_Dept(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.dest(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.car(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.StartDate(0)+"</td>"
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+doc.EndDate(0)+"</td>"
Set ritem =doc.getfirstitem("Body")
If Not ritem Is Nothing Then
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'>"+ritem.text+"</td>"
Else
htmlstr = htmlstr+ "<td height='19' align='center' bgcolor='#ffffff'></td>"
End If
htmlstr = htmlstr+ "</tr>"
End If
End If
Next
htmlstr = htmlstr+ "</table>"
End If
Call stDate.AdjustDay(1)
Wend
End If
'Print "</div>"
If tnum=0 Then
htmlstr = htmlstr+ "<center><br><br><font size=3>未找到用車記錄</font></center>"
End If
Print htmlstr
errmsg:
If Cstr(Erl) = "0" Then
Msgbox "代理程序成功執行完畢!"
Else
Msgbox "代理程序出錯..出錯行數爲:" & Cstr(Erl) & "行!錯誤原因爲:" & Error
End If
End Sub
————————————————
版權聲明:本文爲CSDN博主「yngaozhifu」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yngaozhifu/article/details/5217275