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();
    }
  • 相关阅读:
    java关键字synchronized
    JVM调优之jstack找出最耗cpu的线程并定位代码
    高性能Mysql
    awk使用入门
    JVM性能调优监控工具
    java垃圾回收算法
    JVM内存模型
    jvm之内存分配与回收策略
    leetcode 78. 子集(c++)
    leetcode 148. 排序链表(c++)
  • 原文地址:https://www.cnblogs.com/stangray/p/1706042.html
Copyright © 2011-2022 走看看