zoukankan      html  css  js  c++  java
  • DataGridView数据用NPOI导出到Excel

    /// <summary>
    /// DataGridView数据用NPOI导出到Excel
    /// </summary>
    /// <param name="fileName">Excel文件名</param>
    /// <param name="dgv">DataGridView数据</param>
    public static void GridToExcel(string fileName, DataGridView dgv)
    {
    if (dgv.Rows.Count == 0)
    {
    return;
    }
    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Filter = "Excel 2003格式|*.xls";
    sfd.FileName = fileName + DateTime.Now.ToString("yyyyMMddHHmmssms");
    if (sfd.ShowDialog() != DialogResult.OK)
    {
    return;
    }
    HSSFWorkbook wb = new HSSFWorkbook();
    ISheet sheet = wb.CreateSheet(fileName);
    IRow headRow = sheet.CreateRow(0);
    for (int i = 0; i < dgv.Columns.Count; i++)
    {
    headRow.CreateCell(i).SetCellValue(dgv.Columns[i].HeaderText);
    }
    for (int i = 0; i < dgv.Rows.Count; i++)
    {
    IRow row = sheet.CreateRow(i + 1);
    for (int j = 0; j < dgv.Columns.Count; j++)
    {
    ICell cell = row.CreateCell(j);
    if (dgv.Rows[i].Cells[j].Value == DBNull.Value)
    {
    cell.SetCellType(CellType.Blank);
    }
    else
    {
    if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.Int32"))
    {
    cell.SetCellValue(Convert.ToInt32(dgv.Rows[i].Cells[j].Value));
    }
    else if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.String"))
    {
    cell.SetCellValue(dgv.Rows[i].Cells[j].Value.ToString());
    }
    else if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.Single"))
    {
    cell.SetCellValue(Convert.ToSingle(dgv.Rows[i].Cells[j].Value));
    }
    else if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.Double"))
    {
    cell.SetCellValue(Convert.ToDouble(dgv.Rows[i].Cells[j].Value));
    }
    else if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.Decimal"))
    {
    cell.SetCellValue(Convert.ToDouble(dgv.Rows[i].Cells[j].Value));
    }
    else if (dgv.Rows[i].Cells[j].ValueType.FullName.Contains("System.DateTime"))
    {
    cell.SetCellValue(Convert.ToDateTime(dgv.Rows[i].Cells[j].Value).ToString("yyyy-MM-dd"));
    }
    }
    }

    }
    for (int i = 0; i < dgv.Columns.Count; i++)
    {
    sheet.AutoSizeColumn(i);//自动列宽

    }
    using (FileStream fs = new FileStream(sfd.FileName, FileMode.Create))
    {
    wb.Write(fs);
    }
    //成功提示
    if (MessageBox.Show("导出成功,是否立即打开?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
    {
    System.Diagnostics.Process.Start(sfd.FileName);
    }


    }

  • 相关阅读:
    Perl如何安装新模块/包
    Perl入门(二)Perl的流程控制
    Perl入门(一)Perl的基本类型及运算符
    Struts2表单数据接收方式
    Struts2 自定义拦截器时Action无法接收到参数
    深入理解Java闭包概念
    Centos 7.2 Jenkins+Ansible+Gitlab 部署maven项目
    Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
    CentOS 7.2 搭建Jenkins
    Linux系统上安装配置MAVEN
  • 原文地址:https://www.cnblogs.com/wwwlzp/p/13596691.html
Copyright © 2011-2022 走看看