asp.net DataGridView导出到Excel的三个方法[亲测]

2019-05-12 07:16:04王冬梅

    dlg.InitialDirectory = Directory.GetCurrentDirectory();   
    //打开保存对话框    
    if (dlg.ShowDialog() == DialogResult.Cancel) return;   
    //返回文件路径    
    string fileNameString = dlg.FileName;   
    //验证strFileName是否为空或值无效    
    if (fileNameString.Trim() == " ")   
    { return; }   
    //定义表格内数据的行数和列数    
    int rowscount = dgv.Rows.Count;   
    int colscount = dgv.Columns.Count;   
    //行数必须大于0    
    if (rowscount <= 0)   
    {   
        MessageBox.Show("没有数据可供保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);   
        return;   
    }   

    //列数必须大于0    
    if (colscount <= 0)   
    {   
        MessageBox.Show("没有数据可供保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);   
        return;   
    }   

    //行数不可以大于65536    
    if (rowscount > 65536)   
    {   
        MessageBox.Show("数据记录数太多(最多不能超过65536条),不能保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);   
        return;   
    }   

    //列数不可以大于255    
    if (colscount > 255)   
    {   
        MessageBox.Show("数据记录行数太多,不能保存 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);