我正在使用它来生成报告并将其导出到 Excel。
ALTER PROCEDURE [dbo].[USP_DaysReport]
@Week int= 50,
@Year int= 2019
AS
BEGIN
Declare @YearText varchar(4)
Set @YearText = @Year
Select Emp_ID 'EmployeeID', Employee_name EmployeeName, Week, Year,
[ProjectName], [SubProject], Convert(datetime, Convert(varchar(11),
Case
when EachDay= 'Mon' then
dateadd(day,2 - datepart(dw, @YearText + '-01-01')
+ (@Week-1) * 7
,@YearText + '-01-01')
when EachDay= 'Tue' then
dateadd(day,3 - datepart(dw, @YearText + '-01-01')
+ (@Week-1) * 7
,@YearText + '-01-01')
end), 103) 'Day', Hours
from [dbo].[TimeSheet_Child]
Inner Join
(
Select TimeID as TID, Employee_name, Week, Year, Emp_ID from [dbo].[TimeSheet_Master]
) tm
ON tm.TID= [dbo].[TimeSheet_Child].TimeID
unpivot
(
Hours
for EachDay in ([Mon], [Tue])
) u
END
vb.net 代码:
ExcelLibrary.DataSetHelper.CreateWorkbook(Server.MapPath("~/Downloads/DailyEmployeeReport.xls"), DataSetDays)
现在它工作得很好,除了一件事,即它导出到 excel 的日期,即 Day 字段就像这样 413122、423112 等,所以我必须在 excel 中格式化该字段。