zoukankan      html  css  js  c++  java
  • DataTable导出Excel

                        string fileName = "出勤明细" + DateTime.Now.ToString("yyyyMMdd");
                        //导出成Excel
                        var Result = officeHp.DtToExcel(attendDt, "XXX", new string[] { "序号", "班级名称", "学生姓名", "学生学号", "手机号", "签到时间" }, "考勤明细", fileName);
    /// <summary>  
            /// DataTable 导出到 Excel  
            /// </summary>  
            /// <param name="dt">数据表</param>  
            /// <param name="captions">要导出的列标题</param>  
            /// <param name="fieldNames">要导出的列名</param>  
            /// <param name="sheetName">工作簿名称</param>    
            public string DtToExcel(DataTable dt, string captions, string[] fieldNames, string sheetName, string fileName)
            {
                //第一步判断给出标题和查出来的数据是否相同
                if (dt.Columns.Count != fieldNames.Length) { return "ERROR"; }
    
                Workbook workbook = new Workbook(); //工作簿 
    
                Worksheet sheet = workbook.Worksheets[0]; //工作表 
                sheet.Name = sheetName;    //设置工作表的名称
                Cells cells = sheet.Cells;//单元格 
                //为标题设置样式     
                Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式 
                styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                styleTitle.Font.Name = "宋体";//文字字体 
                styleTitle.Font.Size = 18;//文字大小 
                styleTitle.Font.IsBold = true;//粗体 
    
                //样式2 
                Style style2 = workbook.Styles[workbook.Styles.Add()];//新增样式 
                style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                style2.Font.Name = "宋体";//文字字体 
                style2.Font.Size = 14;//文字大小 
                style2.Font.IsBold = true;//粗体 
                style2.IsTextWrapped = true;//单元格内容自动换行 
                style2.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                style2.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                style2.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                style2.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
    
                //样式3 
                Style style3 = workbook.Styles[workbook.Styles.Add()];//新增样式 
                style3.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                style3.Font.Name = "宋体";//文字字体 
                style3.Font.Size = 12;//文字大小 
                style3.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                style3.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                style3.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                style3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
    
                int Colnum = dt.Columns.Count;//表格列数 
                int Rownum = dt.Rows.Count;//表格行数 
    
                //生成行1 标题行    
                cells.Merge(0, 0, 1, Colnum);//合并单元格 
                cells[0, 0].PutValue(captions);//填写内容 
                cells[0, 0].SetStyle(styleTitle);
                cells.SetRowHeight(0, 38);
    
                //生成行2 列名行 
                for (int i = 0; i < Colnum; i++)
                {
                    //cells[1, i].PutValue(dt.Columns[i].ColumnName);
                    cells[1, i].PutValue(fieldNames[i]);
                    cells[1, i].SetStyle(style2);
                    cells.SetRowHeight(1, 25);
                }
    
                //生成数据行 
                for (int i = 0; i < Rownum; i++)
                {
                    for (int k = 0; k < Colnum; k++)
                    {
                        cells[2 + i, k].PutValue(dt.Rows[i][k].ToString());
                        cells[2 + i, k].SetStyle(style3);
                    }
                    cells.SetRowHeight(2 + i, 24);
                }
    
                sheet.AutoFitColumns();     //设置单元格自适应
                workbook.Save(AppDomain.CurrentDomain.BaseDirectory + @"ExportFileExcel" + fileName + ".xlsx", SaveFormat.Auto);
                return "SUCCESS";
            }
  • 相关阅读:
    Atitit attilax要工作研究的要素 纪要 方案 趋势 方向 概念 理论
    Atitit 常见每日流程日程日常工作.docx v7 r8f
    Atitit it 互联网 软件牛人的博客列表
    Atitit 信息链(Information Chain)的概念理解 attilax总结
    Atitit 知识点的体系化 框架与方法 如何了解 看待xxx
    Atitit 聚合搜索多个微博 attilax总结
    Atitit 企业知识管理PKM与PIM
    Atitit 项目沟通管理 Atitit 沟通之道 attilax著.docx
    Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史 1 1.1. Worktile 406k 1 1.2. Teambition  584k in baidu
    Atitit.每周末总结 于每周一计划日程表 流程表 v8 import 上周遗漏日志补充 检查话费 检查流量情况 Crm问候 Crm表total and 问候
  • 原文地址:https://www.cnblogs.com/siaslfslovewp/p/5972719.html
Copyright © 2011-2022 走看看