zoukankan      html  css  js  c++  java
  • GemBox.ExcelLite.dll导出到Excel

    利用GemBox.ExcelLite.dll脱离Excel环境,把DataGridView数据导出到Excel文件。

    public void DataGridView2Excel_GemBox(DataGridView dgv)
            {
                #region 导出前判断
                //行数必须大于0
                if (dgv.Rows.Count <= 0)
                {
                    MessageBox.Show("没有数据可供导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                //列数必须大于0
                if(dgv.Columns.Count<=0)
                {
                    MessageBox.Show("没有数据可供导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    return;
                }
                //行数不可以大于65536
                if(dgv.Rows.Count>65536)
                {
                    MessageBox.Show("数据记录数太多(最多不能超过65536条),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    return;
                }
                //列数不可以大于256
                if(dgv.Columns.Count>256)
                {
                    MessageBox.Show("数据记录数太多(最多不能超过256列),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    return;
                }
                #endregion
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.Filter = "Excel files (*.xls)|*.xls";
                dlg.FilterIndex = 0;
                dlg.RestoreDirectory = true;
                dlg.CreatePrompt = false;
                dlg.Title = "导出为Excel文件";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    ExcelFile excelFile = new ExcelFile();
                    ExcelWorksheet sheet = excelFile.Worksheets.Add("Account");
                    try
                    {
                        //向Excel中写入表格的表头
                        for (int i = 0; i < dgv.Columns.Count; i++)
                        {
                            sheet.Cells[0, i].Value = dgv.Columns[i].HeaderText;
                        }
                        //向Excel中写入表格的数据
                        for (int i = 0; i < dgv.Rows.Count; i++)
                        {
                            DataGridViewRow row = dgv.Rows[i];
                            for (int j = 0; j < row.Cells.Count; j++)
                            {
                                sheet.Cells[i + 1, j].Value = row.Cells[j].Value;
                            }
                        }
                        excelFile.SaveXls(dlg.FileName);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    MessageBox.Show(dlg.FileName + "\n\n导出完毕!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
    
            }

     GemBox.ExcelLite.dll下载

    Excel 插件下载地址http://pan.baidu.com/s/1hqgiTc4

  • 相关阅读:
    个人便签
    秒杀系统架构分析与实战
    NPOI大数据分批写入同个Excel
    js获取鼠标坐标位置兼容多个浏览器
    月薪3万的程序员都避开了哪些坑
    怎样理解阻塞非阻塞与同步异步的区别?
    JS中的prototype
    互联网——降级论
    fedora自带OpenJDK,所以如果安装官方的JDK的话要先删除OpenJDK
    cygwin 安装完后不能进入think问题,网上99%都是错误的
  • 原文地址:https://www.cnblogs.com/tangge/p/2735025.html
Copyright © 2011-2022 走看看