asp.net core razor 使用ClosedXML.Excel 导出表格

浪淘沙1个月前后端36
            using var workbook = new XLWorkbook();
            var ws = workbook.Worksheets.Add("高职应届毕业生毕业去向落实情况表");


            #region 标题

            // 合并标题行
            var top = ws.Range("A1:AM1").Merge();
            ws.Cell("A1").Value = @"注意事项: 
导入可支持识别的日期时间格式为yyyy-MM-dd HH:mm:ss、yyyy-MM-dd、yyyy-MM等,须与输入框时间格式一致,例如年月填写2022-08 
导入中所有多选都需要以英文逗号“,”做分割。 
字段说明:
获得学位门类:哲学/经济学/法学/教育学/文学/历史学/理学/工学/农学/医学/军事学/管理学/艺术学/未获得,只有学籍状态为“毕业”且专业层次为职业本科,可以填学位门类。与专业表一致。
是否困难群体毕业生:脱贫家庭学生、未脱贫家庭学生、脱贫不稳定学生、边缘易致贫学生、突发严重困难学生、城乡低保学生、特困救助学生、孤儿学生、残疾学生、事实无人抚养学生、低保边缘家庭学生、支出型困难学生、其他低收入家庭学生、无。选择“无”时,不能选其他任何选项。
毕业去向:升学/直接就业/其他,其中直接就业包括参军,其他包括创业、灵活就业、未就业等,选择其他,这三者必须选一个填写。
升学渠道:分高职专科学生升学和职业本科学生升学,根据学生类型自动匹配。其中,高职学生升学渠道有(单一选项):职业本科分段培养/专转(升)本选拔考试/考研/出国(境)升学;职业本科专业学生升学有(单一选项):统考/出国(境)升学。专科考研是指学生在通过自学考试等形式获得本科学历,毕业本学年考取硕士研究生。
层次:本科/硕士/其他。
硕士类型:学术/专业,本科学生升学自动关联显示该采集字段。
其中,直接就业情况:包括签订就业协议就业,参军、出国劳务等,如果是务农就业单位具体到村组或社区。
是否参军:军士/义务兵/否。选择军士或义务兵时,就业单位情况、就业岗位情况、就业区域情况、就业时间为非必填。 
就业单位是否校企合作单位:是/否,如果就业单位是校企合作单位,则就业单位名称从企业库匹配。
就业单位情况:包括签订就业协议就业,参军、出国劳务等,如果是务农就业单位具体到村组或社区。
性质:机关/事业单位/民营/国企/其他。
规模:大型企业/中型企业/小微企业,参照企业表中“企业规模 ”字段定义。 
主要面向产业领域:一产/二产/三产。
就业岗位名称:学生就业从事的岗位名称
所属职业工种:学生就业岗位对应的职业岗位工种。
起薪线(元):是指本专业应届毕业生(士官)就业(参军)当月的薪资,义务兵可按服役期内享受津贴和补贴之和除以服役月数。
就业区域情况:填写学生就业单位所在区域,从国家(地区)、国内省市名称库选择,其中直辖市对应的地市列填区县,省直辖县级行政区填在地市列。
就业时间(年月):签订就业协议的时间,填****年**月。
是否自主创业:是/否,主要指学生自己创办企业、开店、主播等。
是否灵活就业:是/否,主要包括外卖、写手、网红等。
灵活就业工作内容:灵活就业人员需简要填写工作内容。
未就业:待就业/不就业拟升学/其他暂不就业。
";
            //ws.Cell("A1").Style.Font.Bold = true;
            //ws.Cell("A1").Style.Font.FontSize = 16;
            //ws.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
            //ws.Cell("A1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
            ws.Row(1).Height = 100;
            top.Style.Fill.BackgroundColor = XLColor.FromHtml("#2758CD");
            top.Style.Font.FontColor = XLColor.White;

            #endregion


            #region 表头


            // 样式:表头加粗、背景色
            var header = ws.Range("A2:AM5");
            header.Style.Font.Bold = true;
            header.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; // 设置水平居中
            header.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;// 设置垂直居中
            header.Style.Fill.BackgroundColor = XLColor.FromHtml("#5c8af9");// 设置背景色
            header.Style.Font.FontColor = XLColor.White;// 设置字体颜色为白色

            ws.Range("A2:A5").Merge().Value = "学号*";
            ws.Range("B2:B5").Merge().Value = "姓名*";
            ws.Range("C2:C5").Merge().Value = "专业名称*";
            ws.Range("D2:D5").Merge().Value = "专业层次*";

            ws.Range("E2:E5").Merge().Value = "班级名称*";
            ws.Range("F2:F5").Merge().Value = "所属院系部*";
            ws.Range("G2:G5").Merge().Value = "学籍状态*";
            ws.Range("H2:H5").Merge().Value = "获得学位门类*";

            ws.Range("I2:I5").Merge().Value = "是否困难群体毕业生*";
            ws.Range("J2:J5").Merge().Value = "毕业去向*";
            ws.Range("K2:Q2").Merge().Value = "其中,升学";
            ws.Range("K3:K5").Merge().Value = "升学渠道*";

            ws.Range("L3:L5").Merge().Value = "学校名称*";
            ws.Range("M3:M5").Merge().Value = "录取专业*";
            ws.Range("N3:N5").Merge().Value = "层次*";
            ws.Range("O3:O5").Merge().Value = "分数*";

            ws.Range("P3:P5").Merge().Value = "硕士类型*";
            ws.Range("Q3:Q5").Merge().Value = "录取学校所在国家(地区)*";
            ws.Range("R2:AF2").Merge().Value = "其中,直接就业情况";
            ws.Range("R3:R5").Merge().Value = "是否参军*";

            ws.Range("S3:S5").Merge().Value = "就业单位是否校企合作单位*";
            ws.Range("T3:W3").Merge().Value = "就业单位情况";
            ws.Range("X3:AA3").Merge().Value = "就业岗位情况";
            ws.Range("T4:T5").Merge().Value = "名称(全称)*";

            ws.Range("U4:U5").Merge().Value = "性质*";
            ws.Range("V4:V5").Merge().Value = "规模*";
            ws.Range("W4:W5").Merge().Value = "主要面向产业领域*";
            ws.Range("X4:X5").Merge().Value = "就业岗位名称*";

            ws.Range("Y4:AA4").Merge().Value = "所属职业工种";
            ws.Cell("Y5").Value = "大类名称";
            ws.Cell("Z5").Value = "中类名称";
            ws.Cell("AA5").Value = "小类名称*";

            ws.Range("AB3:AB5").Merge().Value = "起薪线(元)*";
            ws.Range("AC3:AE3").Merge().Value = "就业区域情况";
            ws.Range("AC4:AC5").Merge().Value = "国家(地区)*";
            ws.Range("AD4:AD5").Merge().Value = "省份*";

            ws.Range("AE4:AE5").Merge().Value = "地市(直辖市区县)*";
            ws.Range("AG2:AK2").Merge().Value = "其他";
            ws.Range("AG3:AG5").Merge().Value = "是否自主创业*";
            ws.Range("AH3:AH5").Merge().Value = "创业项目名称*";


            ws.Range("AI3:AI5").Merge().Value = "是否灵活就业*";
            ws.Range("AJ3:AJ5").Merge().Value = "灵活就业工作内容*";
            ws.Range("AK3:AK5").Merge().Value = "未就业*";

            ws.Range("AL2:AL5").Merge().Value = "填报人";
            ws.Range("AM2:AM5").Merge().Value = "数据标识";

            // 统一默认宽度
            ws.Columns("A:AM").Width = 15;

            // 特殊列单独调整
            ws.Column("I").Width = 25;
            ws.Column("Q").Width = 25;
            ws.Column("S").Width = 30;
            ws.Column("W").Width = 25;
            ws.Column("AE").Width = 25;
            ws.Column("AJ").Width = 25;
            #endregion

            #region 样式 表格边框

            var range = ws.Range("A2:AM100");
            range.Style.Border.OutsideBorder = XLBorderStyleValues.Thin;//线型
            range.Style.Border.InsideBorder = XLBorderStyleValues.Thin;

            range.Style.Border.OutsideBorderColor = XLColor.FromHtml("#e0e0e0");//颜色
            range.Style.Border.InsideBorderColor = XLColor.FromHtml("#e0e0e0");

            ws.Rows(6, 100).Height = 20;
            #endregion

            #region 填充数据

            ws.Cell("A6").Value = "123456";

            #endregion

            #region 导出excel
            using var stream = new MemoryStream();
            workbook.SaveAs(stream);
            stream.Position = 0;

            return File(stream.ToArray(),
                "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                "毕业去向落实情况.xlsx");
            #endregion

            #endregion


相关文章

asp.net core多按钮提交实现

<form method="post">     <button type="submit...

asp.net core Task 返回类型

public async Task<IActionResult> OnPostAsync()   {   &nbs...

echarts获取点击事件

  myChart.on('click', (params) => {      // 检查是否点击了系列数据   ...

asp.net core razor 使用内存流 生成文件

 #region 获取简历html  var url = $"{Request.Scheme}://{Request.Host}...

使用 Razor Pages 的多个 Handler

<form method="post" asp-page-handler="Save">    ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。