C# DataGridView 导出到Excel
来源:互联网 发布:网络统考英语怎么分ab 编辑:程序博客网 时间:2024/05/19 00:42
public void DataGridViewExportData(DataGridView dgv, string fileName)
{
string saveFileName = "";
//bool fileSaved = false;
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "xls";
saveDialog.Filter = "Excel文件|*.xls";
saveDialog.FileName = fileName;
saveDialog.ShowDialog();
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0)
return; //被点了取消
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp == null)
{
MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
string[] array = new string[dgv.Columns.Count];
//获取Visble =true 的列
foreach (DataGridViewColumn column in dgv.Columns)
{
if (column.Visible == true)
{
array[column.DisplayIndex] = column.HeaderText + '|' + column.Name; ;
}
}
int RowsCount = dgv.Rows.Count;
int ColumnsCount = array.Length;
int mm = 1;
for (int i = 0; i < ColumnsCount; i++)
{
string[] str = new string[2];
string ColumnName;
try
{
str = array.GetValue(i).ToString().Split('|');
ColumnName = str[0];
}
catch
{
continue;
}
//导出列名
worksheet.Cells[1, mm] = ColumnName;
//导出列内容
for (int m = 0; m < RowsCount; m++)
{
try
{
worksheet.Cells[m + 2, mm] = dgv.Rows[m].Cells[str[1]].FormattedValue.ToString();
}
catch
{ }
}
//执行完一列 mm++
mm++;
}
worksheet.Columns.EntireColumn.AutoFit();
if (saveFileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(saveFileName);
}
catch (Exception ex)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
xlApp.Quit();
GC.Collect();//行销毁
//saveFileName +
MessageBox.Show("保存完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
- c# datagridview导出到excel
- c# datagridview导出到excel
- c# datagridview导出到excel
- C# DataGridView导出到Excel
- C# DataGridView 导出到Excel
- C#导出datagridview 到excel
- C# DataGridView 数据导出到Excel
- c# datagridview导出到excel【转载】
- C# winform DataGridView导出到EXCEL
- C# 由DataGridView导出到Excel
- C# 从datagridview中导出到excel
- C#中DataGridView数据导出到Excel
- C# DataGridView导出到Excel,并格式化。
- C#之 DataGridView 导出到Excel
- c# dataGridView导出数据到EXcel
- C# winform 将dataGridView导出到excel
- C# 导出DataGridView数据到Excel表
- DataGridView导出到Excel
- mapreduce中map个数的确定
- POJ 1191 棋盘分割 DP
- Yii中CDbCriteria常用总结
- [Leetcode] Max Points on a Line (Java)
- Page_Load不要忘了if (!IsPostBack)
- C# DataGridView 导出到Excel
- java基础面试题
- android网络业务的封装与调度
- linux 内核态调试函数BUG_ON()
- Axis2客户端的最少依赖
- hdu1052 Tian Ji -- The Horse Racing(贪心)
- Android AIDL 远程服务器使用示例
- 项目经理和产品经理区别
- ORA-12505, TNS:listener does not currently know of SID given in connect descriptor