zoukankan      html  css  js  c++  java
  • C#高效率导出Excel

    首先,需要引用excel的库:

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

    Workbooks books = excel.Workbooks;
    Workbook xlbook = books.Add(true);
    Worksheet xlsheet = (Worksheet)xlbook.ActiveSheet;

    xlsheet.Name = "DataEdit";
    var fileName = "test.xlsx";

    var rownum = 10; //excel行数
    var colnum =10; //excel列数
    Array arr = Array.CreateInstance(typeof(string), rownum, colnum);//先将属性数据缓存到Array数组中

    int i = 0;
    foreach (var proInfo in listProperties)
    {
      arr.SetValue(proInfo, 0, i);
      for (var index = 0; index < listProperties.Count; index++)
      {
        string xsheetValue = "";
        if (listProperties[index].ContainsKey(proInfo))
        {
          xsheetValue = listProperties[index][proInfo];
        }
        arr.SetValue(xsheetValue, index + 1, i);
      }
      i++;
    }

    //一次性写入到excel的sheet中,减少对excel文件的I/O操作次数,提高效率
    Range range = xlsheet.Range[xlsheet.Cells[1, 1], xlsheet.Cells[rownum, colnum]];
    range.Value2 = arr;

    //excel表头添加背景色
    Range rangeHeader = xlsheet.Range[xlsheet.Cells[1, 1], xlsheet.Cells[1, colnum]];
    rangeHeader.Interior.Color = System.Drawing.Color.GreenYellow;

    excel.Columns.AutoFit();
    xlbook.Saved = true;
    xlbook.SaveCopyAs("D:\\" + fileName);

    excel.Quit();

  • 相关阅读:
    Android APK瘦身方法小结
    快速了解Android重要机制
    Android 画笔Paint
    android 图片凸出
    金钱转换
    WPF属性与特性的映射(TypeConverter)
    XMAL 中x名称控件的Auttribute
    AtCoder Grand Contest 012 B
    scau 17967 大师姐唱K的固有结界
    Centos7开机自动启动服务和联网
  • 原文地址:https://www.cnblogs.com/onlyperfect/p/4274143.html
Copyright © 2011-2022 走看看