zoukankan      html  css  js  c++  java
  • NET导出Excel(一)

     最近做项目,需求要把数据导出Excel展示,所以就研究了一下这个东东,抽空的时候写了个通用的导入导出Excel的类 ,并写了几个小示例来和大家分享一下。里面有很多需要注意的地方,有需要的朋友请仔细看!

    注意:Excel中所有的索引都是从1开始的。我们做的是WPF的项目,和普通的.net和Forms没什么区别,请大家放心使用!

    不多说,看代码:

    1 void ExportExcel()
    2 {
    3 var saveExcelAlert = new SaveFileDialog();
    4 saveExcelAlert.Filter = "Microsoft Office Excel 工作簿(*.xls)|*.xls";
    5 if (saveExcelAlert.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
    6 GC.Collect();
    7 Microsoft.Office.Interop.Excel.Application excel = new ApplicationClass();
    8 _Workbook xBk = excel.Workbooks.Add(true); //添加一张工作表
    9   _Worksheet xSt = (_Worksheet)xBk.ActiveSheet; //激活当前的工作表
    10   for (int i = 1; i <= 5; i++)
    11 {
    12 for (int j = 1; j <= 5; j++)
    13 {
    14 excel.Cells[i, j] = (i + j).ToString(); //注意:Excel.Cells 的下标不能为0. 否则就会出现异常:HRESULT:0x800A03EC
    15   xSt.get_Range(excel.Cells[i, j], excel.Cells[i, j]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐
    16   }
    17 }
    18 excel.Visible = true;
    19 xBk.SaveCopyAs(saveExcelAlert.FileName);
    20 xBk.Close(false, Type.Missing, Type.Missing);
    21 excel.Quit();
    22 System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk); //释放工作表
    23 System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);
    24 System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
    25 GC.Collect(); //强制结束进程
    26 }
    27 private void btnExportExcel_Click(object sender, RoutedEventArgs e)
    28 {
    29 ExportExcel();
    30 }

    效果如图:

    白忘了在COM中添加Excel的dll文件哦!

    一个完整的人生应该是宽恕、容忍、等待和爱!
  • 相关阅读:
    PHP 魔术常量
    PHP 魔术方法
    php函数serialize()与unserialize()
    10 件有关 JavaScript 让人费解的事情
    windows下安装Python2和Python3共存
    SQL 行转列===列转行
    Redis 分布式锁
    RabbitMQ
    @Autowired
    AOP 日志切面
  • 原文地址:https://www.cnblogs.com/homezzm/p/1615866.html
Copyright © 2011-2022 走看看