我有一個應用程序,當我單擊運行報告按鈕時,它將生成數據並將導出到Excel。停止將數字值轉換爲日期時出現的日期
我的問題是,我在一列是申請號和此列的值有一個數據是,例如是這樣08-20
但是當我導出Excel的它會成爲一個日期20-Aug
請理解我已經在尋找解決方案。我看到一個類似於我的問題,但我沒有gridview,當我點擊運行報告它會自動生成數據,然後導出。
編輯
下面是DAL
Public Shared Function FnGenerateReport(ByVal rm As ReportModel) As DataTable
Dim dtbReport As New DataTable
Dim strQuery As New StringBuilder
strQuery.Append("SELECT R.iResumeID, R.vFirst, R.vMiddle, R.vLast, J.vGeneric, JC.vJobClass, R.dtApply, R.iChannelID, ")
strQuery.Append("HS.vHireStatus, R.dtHire, R.vGender, R.vRace, R.vEthnicity, R.vDisability, R.vVeteran, R.vRemarks AS Remarks, J.ftAdCost,R.iTimeToHire AS iTimeToHire, ")
strQuery.Append("D.vDivision AS iDivisionID, J.vLocation AS vLocation, J.vLocalised as vLocalised, R.blnEmployee AS blnEmployee, ")
strQuery.Append("S.vFullName as vFullName, R.vComments as Comments, JT.vJobCodeTitle as JobCodeTitle, ")
strQuery.Append("J.iPosition as PositionType, J.iJobStatus as JobStatus, J.dtPost as DateJobPosted, R.dtAccepted as JobOfferAcceptedDate, ")
strQuery.Append("HC.vHCClassificationTitle as ClassificationTitle, J.iHourlySalariedID as HourlySalaried J.vRequisition as vRequisition")
strQuery.Append("FROM VS_ResumeDB R ")
strQuery.Append("INNER JOIN VS_JobDB J ON R.iJobID = J.iJobID ")
strQuery.Append("INNER JOIN VS_CountryDB C ON J.iCountryID = C.iCountryID ")
strQuery.Append("INNER JOIN VS_DivisionDB D ON (J.iDivisionID = D.iDivisionID) ")
strQuery.Append("LEFT JOIN VS_StaffDB S ON J.iRecruiterID = S.iStaffID ")
strQuery.Append("INNER JOIN VS_HireStatusDB HS ON R.iHireStatusID = HS.iHireStatusID ")
strQuery.Append("LEFT JOIN VS_JobClassDB JC ON J.iJobClassID = JC.iJobClassID ")
strQuery.Append("LEFT JOIN VS_JobCodeTitleDB JT ON JT.iJobCodeID = J.iJobCodeID ")
strQuery.Append("LEFT JOIN VS_HCClassificationDB HC on HC.iHCClassificationID = J.iHCClassificationID ")
strQuery.Append("WHERE R.blnComplete=1 ")
If Len(rm.intCountry) > 0 And rm.intCountry <> 0 Then
strQuery.Append("AND [email protected] ")
End If
If Len(rm.intDivisionID) > 0 And rm.intDivisionID <> 0 Then
strQuery.Append("AND [email protected] ")
End If
If Len(rm.strLocation) > 0 Then
strQuery.Append("AND J.vLocation LIKE @Location ")
End If
If Len(rm.dtePostFrom) > 0 Then
strQuery.Append("AND R.dtApply>[email protected] ")
End If
If Len(rm.dtePostTo) > 0 Then
strQuery.Append("AND R.dtApply<[email protected] ")
strQuery.Append("AND J.dtPost<[email protected] ")
End If
If Len(rm.strRequisition) > 0 Then
strQuery.Append("AND J.vRequisition LIKE @Requisition ")
End If
If Len(rm.intHireStatus) > 0 And rm.intHireStatus <> 0 Then
strQuery.Append("AND [email protected] ")
End If
If rm.intType = 0 Or rm.intType = 1 Then
strQuery.Append("AND [email protected] ")
End If
If rm.intJobStatus <> 0 Then
strQuery.Append("AND [email protected] ")
End If
If Len(rm.dteJobPostFrom) > 0 Then
strQuery.Append("AND J.dtPost>[email protected] ")
End If
If Len(rm.dteJobPostTo) > 0 Then
strQuery.Append("AND J.dtPost<[email protected] ")
End If
Return dtbReport
End Function
我對fnGeneratereport
代碼而這裏的時候我點擊運行報告我的代碼
Private Function FnGenerateReport() As String
arrColumn(0) = 0
arrColumn(1) = rm.intColumn1
arrColumn(2) = rm.intColumn2
arrColumn(3) = rm.intColumn3
arrColumn(4) = rm.intColumn4
arrColumn(5) = rm.intColumn5
arrColumn(6) = rm.intColumn6
arrColumn(7) = rm.intColumn7
arrColumn(8) = rm.intColumn8
arrColumn(9) = rm.intColumn9
arrColumn(10) = rm.intColumn10
arrColumn(11) = rm.intColumn11
arrColumn(12) = rm.intColumn12
arrColumn(13) = rm.intColumn13
arrColumn(14) = rm.intColumn14
arrColumn(15) = rm.intColumn15
arrColumn(16) = rm.intColumn16
arrColumn(17) = rm.intColumn17
arrColumn(18) = rm.intColumn18
arrColumn(19) = rm.intColumn19
arrColumn(20) = rm.intColumn20
arrColumn(21) = rm.intColumn21
arrColumn(22) = rm.intColumn22
arrColumn(23) = rm.intColumn23
arrColumn(24) = rm.intColumn24
arrColumn(25) = rm.intColumn25
arrColumn(26) = rm.intColumn26
arrColumn(27) = rm.intColumn27
Dim strHTML As String = "<table border=""1""><tr>"
Dim dtbReport As DataTable = BLL.FnGenerateReport(rm)
For intColCount As Int16 = 1 To 27
If arrColumn(intColCount) = 1 Then
strHTML += "<td><strong>Applicant Name</strong></td>"
End If
If arrColumn(intColCount) = 2 Then
strHTML += "<td><strong>Job Applied for</strong></td>"
End If
If arrColumn(intColCount) = 3 Then
strHTML += "<td><strong>EEO-1 Job Classification</strong></td>"
End If
If arrColumn(intColCount) = 4 Then
strHTML += "<td><strong>Date Applied</strong></td>"
End If
If arrColumn(intColCount) = 5 Then
strHTML += "<td><strong>Gender</strong></td>"
End If
If arrColumn(intColCount) = 6 Then
strHTML += "<td><strong>Race</strong></td>"
End If
If arrColumn(intColCount) = 7 Then
strHTML += "<td><strong>Source of Application</strong></td>"
End If
If arrColumn(intColCount) = 8 Then
strHTML += "<td><strong>Status of Application</strong></td>"
End If
If arrColumn(intColCount) = 9 Then
strHTML += "<td><strong>Date of Hire</strong></td><"
End If
If arrColumn(intColCount) = 10 Then
strHTML += "<td><strong>Remarks</strong></td>"
End If
If arrColumn(intColCount) = 11 Then
strHTML += "<td><strong>Advertising Cost</strong></td>"
End If
If arrColumn(intColCount) = 12 Then
strHTML += "<td><strong>Time to Hire</strong></td>"
End If
If arrColumn(intColCount) = 13 Then
strHTML += "<td><strong>Division</strong></td>"
End If
If arrColumn(intColCount) = 14 Then
strHTML += "<td><strong>Location</strong></td>"
End If
If arrColumn(intColCount) = 15 Then
strHTML += "<td><strong>Job Title(Localised)</strong> </td>"
End If
If arrColumn(intColCount) = 16 Then
strHTML += "<td><strong>Internal or External</strong></td>"
End If
If arrColumn(intColCount) = 17 Then
strHTML += "<td><strong>Recruiter</strong></td>"
End If
If arrColumn(intColCount) = 18 Then
strHTML += "<td><strong>Comments</strong></td>"
End If
If arrColumn(intColCount) = 19 Then
strHTML += "<td><strong>Job Code/Title</strong></td>"
End If
If arrColumn(intColCount) = 20 Then
strHTML += "<td><strong>Position Type</strong></td>"
End If
If arrColumn(intColCount) = 21 Then
strHTML += "<td><strong>Job Status</strong></td>"
End If
If arrColumn(intColCount) = 22 Then
strHTML += "<td><strong>Date Job Posted</strong></td>"
End If
If arrColumn(intColCount) = 23 Then
strHTML += "<td><strong>Job offer accepted Date</strong></td>"
End If
If arrColumn(intColCount) = 24 Then
strHTML += "<td><strong>HC Classification</strong></td>"
End If
If arrColumn(intColCount) = 25 Then
strHTML += "<td><strong>Hourly/Salaried</strong></td>"
End If
If arrColumn(intColCount) = 26 Then
strHTML += "<td><strong>Ethnicity</strong></td>"
End If
If arrColumn(intColCount) = 27 Then
strHTML += "<td><strong>Disability Status</strong></td>"
End If
If arrColumn(intColCount) = 28 Then
strHTML += "<td><strong>Veteran Status</strong></td>"
End If
If arrColumn(intColCount) = 29 Then
strHTML += "<td><strong>Requisition No.</strong></td>"
End If
Next
strHTML += "</tr>"
If dtbReport.Rows.Count > 0 Then
For Each dr As DataRow In dtbReport.Rows
strHTML += "<tr/>"
For intColCount2 As Int16 = 1 To 27
If arrColumn(intColCount2) = 1 Then
strHTML += "<td><a href=" & strMainFolderName & "Resume_Details.aspx?r=" & dr("iResumeID") & ">" & dr("vFirst") & " " & dr("vMiddle") & " " & dr("vLast") & "</a></td>"
End If
If arrColumn(intColCount2) = 2 Then
strHTML += "<td>" & dr("vGeneric") & "</td>"
End If
If arrColumn(intColCount2) = 3 Then
strHTML += "<td nowrap>" & dr("vJobClass") & "</td>"
End If
If arrColumn(intColCount2) = 4 Then
strHTML += "<td>" & dr("dtApply").ToShortDateString & "</td>"
End If
If arrColumn(intColCount2) = 5 Then
strHTML += "<td>" & dr("vGender") & "</td>"
End If
If arrColumn(intColCount2) = 6 Then
strHTML += "<td>" & dr("vRace") & "</td>"
End If
If arrColumn(intColCount2) = 7 Then
strHTML += "<td>"
If Not IsDBNull(dr("iChannelID")) Then
Dim strChannel As String = BLL.FnGetChannel(CInt(dr("iChannelID")))
strHTML += strChannel
End If
strHTML += " </td>"
End If
If arrColumn(intColCount2) = 8 Then
strHTML += "<td>" & dr("vHireStatus") & "</td>"
End If
If arrColumn(intColCount2) = 9 Then
strHTML += "<td>"
If IsDate(dr("dtHire")) Then
strHTML += dr("dtHire").ToShortDateString
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 10 Then
strHTML += "<td>" & dr("Remarks") & "</td>"
End If
If arrColumn(intColCount2) = 11 Then
strHTML += "<td>"
If Not IsDBNull(dr("ftAdCost")) Then
Replace(FormatNumber(dr("ftAdCost"), 2), ",", "")
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 12 Then
strHTML += "<td>" & dr("iTimeToHire") & "</td>"
End If
If arrColumn(intColCount2) = 13 Then
strHTML += "<td>" & dr("iDivisionID") & "</td>"
End If
If arrColumn(intColCount2) = 14 Then
strHTML += "<td>" & dr("vLocation") & "</td>"
End If
If arrColumn(intColCount2) = 15 Then
strHTML += "<td>" & dr("vLocalised") & "</td>"
End If
If arrColumn(intColCount2) = 16 Then
strHTML += "<td>"
If (dr("blnEmployee")) = "True" Then
strHTML += "Internal"
Else
strHTML += "External"
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 17 Then
strHTML += "<td>" & dr("vFullName") & "</td>"
End If
If arrColumn(intColCount2) = 18 Then
strHTML += "<td>" & dr("Comments") & "</td>"
End If
If arrColumn(intColCount2) = 19 Then
strHTML += "<td>" & dr("JobCodeTitle") & "</td>"
End If
If arrColumn(intColCount2) = 20 Then
strHTML += "<td>"
If (dr("PositionType")) = 1 Then
strHTML += "Full-Time"
ElseIf (dr("PositionType")) = 2 Then
strHTML += "Part-Time"
ElseIf (dr("PositionType")) = 3 Then
strHTML += "Internship"
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 21 Then
strHTML += "<td>"
If dr("JobStatus") = 1 Then
strHTML += "Draft"
ElseIf dr("JobStatus") = 2 Then
strHTML += "Posted"
ElseIf dr("JobStatus") = 3 Then
strHTML += "Closed"
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 22 Then
strHTML += "<td>"
If IsDate(dr("DateJobPosted")) Then
strHTML += dr("DateJobPosted").ToShortDateString
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 23 Then
strHTML += "<td>"
If IsDate(dr("JobOfferAcceptedDate")) Then
strHTML += dr("JobOfferAcceptedDate").ToShortDateString
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 24 Then
strHTML += "<td>" & dr("ClassificationTitle") & "</td>"
End If
If arrColumn(intColCount2) = 25 Then
strHTML += "<td>"
If dr("HourlySalaried") = 1 Then
strHTML += "Hourly"
ElseIf dr("HourlySalaried") = 2 Then
strHTML += "Salaried"
End If
strHTML += "</td>"
End If
If arrColumn(intColCount2) = 26 Then
strHTML += "<td>" & dr("vEthnicity") & "</td>"
End If
If arrColumn(intColCount2) = 27 Then
strHTML += "<td>" & dr("vDisability") & "</td>"
End If
If arrColumn(intColCount2) = 28 Then
strHTML += "<td>" & dr("vVeteran") & "</td>"
End If
If arrColumn(intColCount2) = 29 Then
strHTML += "<td>" & dr("vRequisition") & "</td>"
End If
Next
strHTML += "</tr>"
Next
End If
strHTML += "</table>"
Return strHTML
End Function
你用什麼將數據導出到excel? –
嘗試對申請單編號 – MrGadget
@MrGadget預加一個撇號(單引號),我在哪裏放單引號? – chobowski