• 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

  • 相关阅读:
    【算法】CDQ分治 -- 三维偏序 & 动态逆序对
    【题解】ZJOI2007报表统计
    【乱七八糟】兰陵王
    【题解】NOI2017游戏
    【题解】JSOI2010满汉全席
    【题解】NOI2014动物园
    【题解】HNOI2010合唱队
    【题解】SDOI2010地精部落
    cf 843 D Dynamic Shortest Path [最短路+bfs]
    cf 843 B Interactive LowerBound [随机化]
  • 原文地址:https://www.cnblogs.com/tangge/p/2735025.html
Copyright © 2020-2023  润新知