DataGridView 导出到Excel
#region 导出四个表格到Excel
/// <summary>
/// 导出四个表格到Excel
/// </summary>
/// <param name="dgvPaoDian"></param>
/// <param name="strPaoDian"></param>
/// <param name="dgvGJS"></param>
/// <param name="strGJS"></param>
/// <param name="dgvSHZDS"></param>
/// <param name="strSHZDS"></param>
/// <param name="dgvQYZDS"></param>
/// <param name="strQYZDS"></param>
/// <param name="FilePathName"></param>
/// <returns></returns>
public static bool MultiGvwToExcel(DataGridViewX dgvPaoDian, string strPaoDian, DataGridViewX dgvGJS, string strGJS, DataGridViewX dgvSHZDS, string strSHZDS, DataGridViewX dgvQYZDS, string strQYZDS, ref string FilePathName)
{
bool MyReturnValye = false;
if (dgvPaoDian.DataSource == null && dgvGJS.DataSource == null && dgvSHZDS.DataSource == null && dgvQYZDS.DataSource == null)
{
MyReturnValye = false;
//没有绑定任何数据源
}
else
{
string path;
SaveFileDialog savefile = new SaveFileDialog();
savefile.Filter = "Execl files(*.xls)|*.xls";
if (savefile.ShowDialog() == DialogResult.OK && savefile.FileName != "")
{
//获取保存路径
path = savefile.FileName;
Workbook wb = new Workbook();
wb.Worksheets.Add();
wb.Worksheets.Add();
wb.Worksheets.Add();
Worksheet ws = wb.Worksheets[0];
ws.Name = strPaoDian;
Worksheet ws1 = wb.Worksheets[1];
ws1.Name = strGJS;
Worksheet ws2 = wb.Worksheets[2];
ws2.Name = strSHZDS;
Worksheet ws3 = wb.Worksheets[3];
ws3.Name = strQYZDS;
Cells cell;
int i, j;
//设置风格
#region 第一个sheet
if (dgvPaoDian.DataSource != null)
{
if (dgvPaoDian.RowCount > 0)
{
cell = ws.Cells;
Style style1 = wb.Styles[wb.Styles.Add()];
style1.Font.Name = "宋体";
style1.Font.IsBold = false;//设置粗体
style1.Font.Size = 12;//设置字体大小
style1.HorizontalAlignment = TextAlignmentType.Center;
//设置标题
for (i = 0; i < dgvPaoDian.ColumnCount; i++)
{
cell[0, i].PutValue(dgvPaoDian.Columns[i].HeaderText.ToString());
cell[0, i].SetStyle(style1);
}
//设置内容
for (i = 0; i < dgvPaoDian.RowCount; i++)
{
for (j = 0; j < dgvPaoDian.ColumnCount; j++)
{
cell[i + 1, j].PutValue(dgvPaoDian.Rows[i].Cells[j].Value.ToString());
cell[i + 1, j].SetStyle(style1);
}
}
//设置列宽
for (i = 0; i < dgvPaoDian.ColumnCount; i++)
{
cell.SetColumnWidth(i, 14);
}
}
cell = null;
}
#endregion
#region 第二个sheet
if (dgvGJS.DataSource != null)
{
if (dgvGJS.RowCount > 0)
{
cell = ws1.Cells;
Style style1 = wb.Styles[wb.Styles.Add()];
style1.Font.Name = "宋体";
style1.Font.IsBold = false;//设置粗体
style1.Font.Size = 12;//设置字体大小
style1.HorizontalAlignment = TextAlignmentType.Center;
//设置标题
for (i = 0; i < dgvGJS.ColumnCount; i++)
{
cell[0, i].PutValue(dgvGJS.Columns[i].HeaderText.ToString());
cell[0, i].SetStyle(style1);
}
//设置内容
for (i = 0; i < dgvGJS.RowCount; i++)
{
for (j = 0; j < dgvGJS.ColumnCount; j++)
{
cell[i + 1, j].PutValue(dgvGJS.Rows[i].Cells[j].Value.ToString());
cell[i + 1, j].SetStyle(style1);
}
}
//设置列宽
for (i = 0; i < dgvGJS.ColumnCount; i++)
{
cell.SetColumnWidth(i, 14);
}
}
cell = null;
}
#endregion
#region 第三个sheet
if (dgvSHZDS.DataSource != null)
{
if (dgvSHZDS.RowCount > 0)
{
cell = ws2.Cells;
Style style1 = wb.Styles[wb.Styles.Add()];
style1.Font.Name = "宋体";
style1.Font.IsBold = false;//设置粗体
style1.Font.Size = 12;//设置字体大小
style1.HorizontalAlignment = TextAlignmentType.Center;
//设置标题
for (i = 0; i < dgvSHZDS.ColumnCount; i++)
{
cell[0, i].PutValue(dgvSHZDS.Columns[i].HeaderText.ToString());
cell[0, i].SetStyle(style1);
}
//设置内容
for (i = 0; i < dgvSHZDS.RowCount; i++)
{
for (j = 0; j < dgvSHZDS.ColumnCount; j++)
{
cell[i + 1, j].PutValue(dgvSHZDS.Rows[i].Cells[j].Value.ToString());
cell[i + 1, j].SetStyle(style1);
}
}
//设置列宽
for (i = 0; i < dgvSHZDS.ColumnCount; i++)
{
cell.SetColumnWidth(i, 14);
}
}
cell = null;
}
#endregion
#region 第四个sheet
if (dgvQYZDS.DataSource != null)
{
if (dgvQYZDS.RowCount > 0)
{
cell = ws3.Cells;
Style style1 = wb.Styles[wb.Styles.Add()];
style1.Font.Name = "宋体";
style1.Font.IsBold = false;//设置粗体
style1.Font.Size = 12;//设置字体大小
style1.HorizontalAlignment = TextAlignmentType.Center;
//设置标题
for (i = 0; i < dgvQYZDS.ColumnCount; i++)
{
cell[0, i].PutValue(dgvQYZDS.Columns[i].HeaderText.ToString());
cell[0, i].SetStyle(style1);
}
//设置内容
for (i = 0; i < dgvQYZDS.RowCount; i++)
{
for (j = 0; j < dgvQYZDS.ColumnCount; j++)
{
cell[i + 1, j].PutValue(dgvQYZDS.Rows[i].Cells[j].Value.ToString());
cell[i + 1, j].SetStyle(style1);
}
}
//设置列宽
for (i = 0; i < dgvQYZDS.ColumnCount; i++)
{
cell.SetColumnWidth(i, 14);
}
}
cell = null;
}
#endregion
wb.Save(path);
FilePathName = path;
MyReturnValye = true;
}
else
{
MyReturnValye = false;
}
}
return MyReturnValye;
}
#endregion
DataGridView 导出到Excel的更多相关文章
- DataGridView导出到Excel的三个方法
#region DataGridView数据显示到Excel /// <summary> /// 打开Excel并将DataGridView控件中数据导出到Excel /// </s ...
- c# datagridview导出到excel【转载】
c# datagridview导出到excel[转载] http://hi.baidu.com/weizier/blog/item/8212caea1123b4d6d439c9fe.html 本作者使 ...
- C# - VS2019 DataGridView导出到Excel的三种方法
//原文出处:http://www.yongfa365.com/Item/DataGridViewToExcel.html 1 #region DataGridView数据显示到Excel /// & ...
- Winform 中 dataGridView 导出到Excel中的方法总结
最近,在做CS端数据导出到Excel中时网上找了很多代码感觉都不是自己想要的,通过自己的整理归纳得到一个比较通用的方法,就给大家分享一下: 该方法需要用到两个参数(即对象),一个 DataGridV ...
- winform DataGridView 导出到Excel表格 分类: WinForm 2014-07-04 10:48 177人阅读 评论(0) 收藏
public bool ExportDataGridview(DataGridView gridView) { if (gridView.Rows.Count ...
- [WinForm]dataGridView导出到EXCEL
方法一: SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Execl files (*.xls)|*.xls"; ...
- WinForm中DataGridView导出为Excel(快速版)
public static void ExportExcel(DataGridView myDGV, string fileName) { string saveFileName = fileName ...
- datagridview导出到excel
Microsoft.Office.Interop.Excel.Range range = null; string saveFileName = ""; bool fileSave ...
- 学习笔记 DataGridView数据导出为Excel
DataGridView数据导出为Excel 怎样把WinForm下的“DGV”里的绑定数据库后的数据导出到Excel中. 比如:在窗体里有个一“DGV”,DataGridView1,绑定了数据源 ...
随机推荐
- linux挂着U盘和光盘
挂载光盘 mkdir /mnt/cdrom/ (建立挂载点) mount -t iso9660 /dev/cdrom /mnt/cdrom (挂载光盘) mount /dev/sr0 /mnt/cdr ...
- CSS应用心得
单纯Html配合CSS网页 下面用程序来实际总结一下 首先,在写程序的应该具有一个良好的编程习惯. 第一:排版,拥有一个良好的排版,有助于我们能够快速的理解以及阅读程序: 第二:注释,就如以下程序,作 ...
- 汇编语言进阶和Makefile进阶---第二天
摘要: 原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei 首先加载启动代码: ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序装载地 ...
- JS 获取地址栏三级域名
<script type="text/javascript"> function Char(str) { var uchars = {}; str.replace(/\ ...
- UVA-11517 Exact Change(DP)
题目大意:有n张钞票,面值可能不同.你要买一件东西,可能需要找零钱.问最少付多少钱,并求出最少的钞票张数. 题目分析:定义状态dp(i,w)表示前i张钞票凑成w元需要的最少钞票张数.则状态转移方程为d ...
- python操作
用python做OI题实在不是一个明智的选择 if __name__ == "__main__":相当于c艹的int main(),然而似乎没有也可以? 重定向标准输入输出流:sy ...
- ZipArchive之C++编译和调用
由于要用到zip的解压,就上网下载了CZipArchive类的源码(还是2000年的),里面有个示例,稍微修改下,就能正常运行. 就高兴地把lib拿出来,放到项目中了.捣鼓了快一个下午了,死活编译不通 ...
- Struts2中通过超链接传参数要注意的问题
写到分页的功能,在传递页码pageNo的时候遇到了参数接收不正确的问题,我本来在action中是定义了一个pageNo字符串参数和一个Page类参数,Page是一个封装了页面要显示的数据集合和页面信息 ...
- 【OPENGL】第二篇 HELLO OPENGL(续)
上一次我们在这里分析了OpenGL的例子,但是最后还少分析最重要的部分:着色器相关的代码.因此这一次作为前一篇文章的续集. 上一篇文章的地址 http://www.cnblogs.com/MyGame ...
- 自定义windows新建菜单
注册表下找到hkey_classes_root 找到想要新建的文件扩展名(.txt,.php,.html,.xml etc.) 创建名为ShellNew的键,再在其下添加NullType的项