public void DataGridViewToExcel(string sheetName, DataGridView dgv)
{
//创建一个保存对话框
SaveFileDialog save = new SaveFileDialog();
//创建一个流
Stream stream = null;
//设置文件类型
save.Filter = "Execl files (*.xls)|*.xls";
//文件类型默认第一个
save.FilterIndex = 0;
//上一次选择的目录
save.RestoreDirectory = true;
//获取或设置一个值,该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。
save.CreatePrompt = true;
//设置保存窗口的标题
save.Title = "保存当前内容到Excel";
//创建工作簿
IWorkbook workbook = new HSSFWorkbook();
//表名称
ISheet sheet = workbook.CreateSheet(sheetName);
//创建行
IRow row = sheet.CreateRow(0);
//获取列数 设置表头
for (int i = 0; i < dgv.ColumnCount; i++)
{
//设置列标题
row.CreateCell(i).SetCellValue(dgv.Columns[i].HeaderText);
}
int rowindex = 1;//根据这个NPOI创建行
//设置行
for (int j = 0; j < dgv.Rows.Count; j++)
{
IRow dataRow = sheet.CreateRow(rowindex);
//数据列内容
for (int k = 0; k < dgv.Columns.Count; k++)
{
dataRow.CreateCell(k).SetCellValue(dgv.Rows[j].Cells[k].Value.ToString().Trim());
}
rowindex++;
}
//判断是否单击确定
if (save.ShowDialog() == DialogResult.OK)
{
stream = save.OpenFile();//将选择的路径和流赋值
if (stream != null)
{
//将表格内容写入到流中
workbook.Write(stream);
MessageBox.Show("信息导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
//释放资源,要不然导出来得把当前客户端关闭才能打开文件
workbook = null;
sheet = null;
row = null;
stream.Flush();
stream.Close();
}
{
//创建一个保存对话框
SaveFileDialog save = new SaveFileDialog();
//创建一个流
Stream stream = null;
//设置文件类型
save.Filter = "Execl files (*.xls)|*.xls";
//文件类型默认第一个
save.FilterIndex = 0;
//上一次选择的目录
save.RestoreDirectory = true;
//获取或设置一个值,该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。
save.CreatePrompt = true;
//设置保存窗口的标题
save.Title = "保存当前内容到Excel";
//创建工作簿
IWorkbook workbook = new HSSFWorkbook();
//表名称
ISheet sheet = workbook.CreateSheet(sheetName);
//创建行
IRow row = sheet.CreateRow(0);
//获取列数 设置表头
for (int i = 0; i < dgv.ColumnCount; i++)
{
//设置列标题
row.CreateCell(i).SetCellValue(dgv.Columns[i].HeaderText);
}
int rowindex = 1;//根据这个NPOI创建行
//设置行
for (int j = 0; j < dgv.Rows.Count; j++)
{
IRow dataRow = sheet.CreateRow(rowindex);
//数据列内容
for (int k = 0; k < dgv.Columns.Count; k++)
{
dataRow.CreateCell(k).SetCellValue(dgv.Rows[j].Cells[k].Value.ToString().Trim());
}
rowindex++;
}
//判断是否单击确定
if (save.ShowDialog() == DialogResult.OK)
{
stream = save.OpenFile();//将选择的路径和流赋值
if (stream != null)
{
//将表格内容写入到流中
workbook.Write(stream);
MessageBox.Show("信息导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
//释放资源,要不然导出来得把当前客户端关闭才能打开文件
workbook = null;
sheet = null;
row = null;
stream.Flush();
stream.Close();
}