插件:Aspose.Cells

没有安装office插件也能使用;

导出:不能使用ajax异步·

 

        /// <summary>
        /// 导出试题
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="courseId">课程Id</param>
        /// <returns></returns>
        [HttpGet]
        public FilePathResult ExportQuestions(int userId, int courseId)
        {
            // 工作薄           
            Workbook BuildReport_WorkBook = new Workbook();
            //sheets集合
            Worksheets sheets = BuildReport_WorkBook.Worksheets;
            //试题表
            Worksheet BuildReport_WorkSheet = BuildReport_WorkBook.Worksheets[0];   //  sheet1
            BuildReport_WorkBook.Worksheets[0].Name = "试题表";
            BuildReport_WorkSheet.FreezePanes(1, 1, 1, 0); //冻结第一行
            BuildReport_WorkSheet.AutoFitColumns();//让各列自适应宽度
            Cells BuildReportCells = BuildReport_WorkSheet.Cells;    //单元格
            
            //表头
            BuildReportCells[0, 0].PutValue("试题Id");
            BuildReportCells[0, 1].PutValue("课程Id");
            BuildReportCells[0, 2].PutValue("试题类型");

            //第二个sheet
            BuildReport_WorkBook.Worksheets.Add("试题描述");
            Worksheet BuildReport_WorkSheet_Desc = BuildReport_WorkBook.Worksheets["试题描述"];  //sheet2
            BuildReport_WorkSheet_Desc.FreezePanes(1, 1, 1, 0); //冻结第一行
            Cells BuildReportCells_Desc = BuildReport_WorkSheet_Desc.Cells;

            //表头
            BuildReportCells_Desc[0, 0].PutValue("试题描述Id");
            BuildReportCells_Desc[0, 1].PutValue("试题Id");
            BuildReportCells_Desc[0, 2].PutValue("试题描述");
            BuildReportCells_Desc[0, 3].PutValue("试题解析");
            BuildReportCells_Desc[0, 4].PutValue("试题描述(不包含html字符)");

            //
            BuildReportCells[i, 0].PutValue(item.Id);
            BuildReportCells[i, 1].PutValue(item.CourseId);
            BuildReportCells[i, 2].PutValue(item.QuestionType);

            BuildReportCells_Desc[j, 0].PutValue(questionDesc.ID);
            BuildReportCells_Desc[j, 1].PutValue(questionDesc.QuestionId);
            BuildReportCells_Desc[j, 2].PutValue(questionDesc.Description);
            BuildReportCells_Desc[j, 3].PutValue(questionDesc.Analyses);

            //文件路径
            string fileDirPath = "/Downloads/试题" + userId + "_" + courseId;
            string downPath = Server.MapPath(fileDirPath);
            if (!Directory.Exists(downPath))
            {
                Directory.CreateDirectory(downPath);
            }
            System.IO.File.SetAttributes(downPath, FileAttributes.Normal);

            string nowTime = DateTime.Now.ToString("yyyyMMddHHmmssfff");
            string tempFile = Path.GetTempFileName();
            string saveFile = Server.MapPath(fileDirPath + "/" + "试题" + "_" + userId + "_" + courseId + ".xls");
            BuildReport_WorkBook.Save(saveFile);

            return File(saveFile, "application/octet-stream", "试题" + "_" + userId + "_" + courseId + ".xls");
        }
导出

相关文章:

  • 2021-05-19
  • 2021-06-11
  • 2022-12-23
  • 2022-12-23
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
猜你喜欢
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-08-08
相关资源
相似解决方案