zoukankan      html  css  js  c++  java
  • DataGridView 导出 Excel

    用来记录一下。老是忘记,这个是比较稳定的方法:)

    private void SaveExcel(DataGridView dataGridView1,string filename)
    {
    if (dataGridView1.Rows.Count == 0)
    return;

    Microsoft.Office.Interop.Excel.ApplicationClass _x
    =
          new Microsoft.Office.Interop.Excel.ApplicationClass();
    _x.UserControl
    = false;
    Microsoft.Office.Interop.Excel.WorkbookClass wb
    =
          (Microsoft.Office.Interop.Excel.WorkbookClass)this._x.Workbooks.Add(System.Reflection.Missing.Value);
    //生成表头
    for (int i = 0; i < dataGridView1.ColumnCount; i++)
    {
    _x.Cells[
    1, i + 1] = dataGridView1.Columns[i].HeaderText;
    }

    //填充数据
    for (int i = 0; i < dataGridView1.RowCount - 1; i++)
    {
    for (int j = 0; j < dataGridView1.ColumnCount; j++)
    {
    if (dataGridView1[j, i].ValueType == typeof(string))
    {
    _x.Cells[i
    + 2, j + 1] = "'" + dataGridView1[j, i].Value.ToString();
    }
    else
    {
    _x.Cells[i
    + 2, j + 1] = dataGridView1[j, i].Value.ToString();
    }
    }
    }

    wb.Saved
    = true;
    this._x.ActiveWorkbook.SaveCopyAs(filename);
    this._x.Quit();
    System.Runtime.InteropServices.Marshal.ReleaseComObject((
    object)_x);
    System.GC.Collect();
    }
  • 相关阅读:
    167. 两数之和 II
    14. 最长公共前缀
    28. 实现strStr()
    118. 杨辉三角
    54. 螺旋矩阵
    498. 对角线遍历
    66. 加一
    747. 至少是其他数字两倍的最大数
    34. 在排序数组中查找元素的第一个和最后一个位置
    164. 寻找峰值
  • 原文地址:https://www.cnblogs.com/stangray/p/1706042.html
Copyright © 2011-2022 走看看