zoukankan      html  css  js  c++  java
  • c#.net循环将DataGridView中的数据赋值到Excel中,并设置样式

     Microsoft.Office.Interop.Excel.Application excel =
                    new Microsoft.Office.Interop.Excel.Application();
                excel.SheetsInNewWorkbook = 1;
                excel.Workbooks.Add();

                //设置Excel列名
                excel.Cells[1, 1] = "学号";
                excel.Cells[1, 2] = "姓名";
                excel.Cells[1, 3] = "性别";
                excel.Cells[1, 4] = "年级";
                excel.Cells[1, 5] = "电话";
                excel.Cells[1, 6] = "地址";
                excel.Cells[1, 7] = "出生年月日";
                excel.Cells[1, 8] = "邮箱";
                excel.Cells[1, 9] = "身份证号";

                //获取标题行的单元格,即Range第一行到第9列的区域创建一个range对象
                Range range = excel.get_Range(excel.Cells[1, 1], excel.Cells[1, 9]);
                //设字体加粗
                range.Font.Bold = true;
                //设置字体颜色
                range.Font.ColorIndex = 0;
                //设置背景颜色
                range.Interior.ColorIndex = 15;
                //设置边框样式
                range.Borders.LineStyle = XlLineStyle.xlContinuous;

                //循环将DataGridView中的数据赋值到Excel中
                int i = 0, j = 0;
                //外循环,循环dgvStudents.Rows.Count整体行数
                for (i = 0; i < dgvStudents.Rows.Count; i++)
                {
                    //通过for循环读前2列的数据
                    for (j = 0; j < 2; j++)
                    {
                        excel.Cells[i + 2, j + 1] = dgvStudents.Rows[i].Cells[j].Value.ToString();
                    }
                    //读取第3列的数据,设置性别
                    excel.Cells[i + 2, 3] =
                        dgvStudents.Rows[i].Cells["Gender"].Value.ToString();

                    //设置第4列到第9列的数据,设置电话的格式,通过NumberFormatLocal设置文本格式
                    excel.get_Range(excel.Cells[i + 2, 5], excel.Cells[i + 2, 5]).NumberFormatLocal = "@";

                    //设置第4列到第9列的数据,设置身份证号的格式,通过NumberFormatLocal设置文本格式
                    excel.get_Range(excel.Cells[i + 2, 9], excel.Cells[i + 2, 9]).NumberFormatLocal = "@";
                    //现在就可以读取第4列到第9列的数据
                    for (j = 3; j < 9; j++)
                    {
                        excel.Cells[i + 2, j + 1] = dgvStudents.Rows[i].Cells[j + 1].Value.ToString();
                    }
                }
                //设置出生年月日的格式
                excel.get_Range(excel.Cells[2, 7], excel.Cells[i + 2, 7]).NumberFormat = "yyyy-m-d";

                //设置Excel水平对齐方式,左对齐
                excel.get_Range(excel.Cells[1, 1], excel.Cells[i + 2, 9]).HorizontalAlignment
                    = XlHAlign.xlHAlignLeft;

                //设置列的宽度
                excel.get_Range("I1", "I9").ColumnWidth = 20;

                //显示当前窗口
                excel.Visible = true;

  • 相关阅读:
    Failed to load module "canberra-gtk-module"
    [Ubuntu18]桌面美化-仿MAC主题
    [Ubuntu]18自定义切换输入法的快捷键
    2016-2017-1 《信息安全系统设计基础》 学生博客及Git@OSC 链接
    2015-2016-2 《Java程序设计》 游戏化
    2015-2016-2 《Java程序设计》项目小组博客
    博客引用书单
    2015-2016-2 《网络攻防实践》 学生博客
    2015-2016-2 《网络攻击与防范》 学生博客
    《网络攻防技术与实践》学习指导
  • 原文地址:https://www.cnblogs.com/914556495wxkj/p/4349150.html
Copyright © 2011-2022 走看看