时间:2010-07-26 13:54:45

标签: c# .net asp.net-mvc excel export-to-excel

3 个答案:

答案 0 :(得分:15)

答案 1 :(得分:3)

答案 2 :(得分:1)

我已经解决了类似问题的问题。就像你有一个IEnumerable

IEnumerable<TaskSheetHead> taskSheetHead = new TaskSheetHeadService().GetEmployeeTimesheet(entity);

因此,如果你想从中创建一个excel只需创建一个工作簿

var workbook = new HSSFWorkbook();
var sheet = workbook.CreateSheet();

循环迭代,然后将其添加到工作表

foreach (TaskSheetHead taskSheethead in taskSheetHead)
            {
                //decimal totalTask = decimal.Zero;
                //double totalTime = 0;

                foreach (TaskSheet taskSheet in taskSheethead.TaskSheets)
                {
                    var row2 = sheet.CreateRow(rowNumber++);
                    row2.CreateCell(0).SetCellValue(taskSheethead.Date.ToString("MMMM dd, yyyy"));
                    row2.CreateCell(1).SetCellValue(taskSheet.Task.Project.ProjectName + ":" + taskSheet.Task.Title + "-" + taskSheet.Comment);
                    row2.CreateCell(2).SetCellValue(taskSheet.ExpendedHour);
                    row2.CreateCell(3).SetCellValue(taskSheet.IsBilledToClient);
                    //totalTask += 1;
                    //totalTime += taskSheet.ExpendedHour;
                }
                var row3 = sheet.CreateRow(rowNumber++);
                row3.CreateCell(0).SetCellValue("");
                row3.CreateCell(1).SetCellValue("");
                row3.CreateCell(2).SetCellValue("");
                row3.CreateCell(3).SetCellValue("");

            }

这里我有另一个子列表,因此我使用内循环迭代。做你的选择。