/// <summary> /// 列出sales 每个月的业绩(以收到钱为准),并和上一个月比较 /// </summary> /// <param name="Year"></param> /// <param name="Month">每2个月的后面那个月</param> private void SalesByPerson(int Year, int Month) { //read the template via FileStream, it is suggested to use FileAccess.Read to prevent file lock. FileStream file = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "Invoice\\SalesByPerson_Template.xls", FileMode.Open, FileAccess.Read); HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); HSSFSheet sheet1 = hssfworkbook.GetSheetAt(0); int Cnt = Ticket.GetTicketCountByMonth(Year, Month); int PrevCnt; DataTable dt, dtPrevYear = new DataTable(); //现在Month参数没有用到,一次把每年12个月的数值都取出来 dt = Ticket.GetMonthlyProfit(Year); //如果是1月份,要把去年12月份的数据取出来 if (Month == 1) { dtPrevYear = Ticket.GetMonthlyProfit(Year - 1); PrevCnt = Ticket.GetTicketCountByMonth(Year - 1, 12); } else { PrevCnt = Ticket.GetTicketCountByMonth(Year, Month - 1); } FillExcelPersonProfit(sheet1, dt, dtPrevYear, Month, ddlDept2.Text, Cnt, PrevCnt); //Force excel to recalculate all the formula while open sheet1.ForceFormulaRecalculation = true; string FullFileName = AppDomain.CurrentDomain.BaseDirectory + "Upload\\Excel\\SalesByPerson_" + Year.ToString() + "_" + Month.ToString("00") + ".xls"; file = new FileStream(FullFileName, FileMode.Create); hssfworkbook.Write(file); file.Close(); DownloadFileAsAttachment(FullFileName); }