您现在的位置是:首页 > 正文

wpf中将数据导出为Excel

2023-12-31 17:41:44阅读 13

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

     try
        {
          excelApp.Visible = false;

          //Cria Planilha
          Workbook excelWB = excelApp.Workbooks.Add(System.Type.Missing);

          //Cria Worksheet
          Worksheet excelWS = (Worksheet)excelWB.Worksheets[1];

          Range celulas = null;
          celulas = excelWS.get_Range("A1", System.Type.Missing);
         
          //Laço para ler todas as linhas e colunas do grid
          for (int i = 0; i < ((System.Data.DataTable)(dataGrid2.DataContext)).Rows.Count; i++)
          {
            for (int j = 0; j < ((System.Data.DataTable)(dataGrid2.DataContext)).Columns.Count; j++)
            {
              //Insere valores das células do grid na célula do excel
              celulas.get_Offset(i, j).Cells.Value2 = ((System.Data.DataTable)(dataGrid2.DataContext)).Rows[i][j].ToString();
            }
          }

          excelApp.ActiveWorkbook.RefreshAll();
          excelApp.Workbooks.Application.ActiveWorkbook.RefreshAll();

          //Salva Arquivo
          excelWB.SaveAs(txtArmazenagem.Text + "//" + txtNomeArquivoArmazenagem.Text + ".xls", XlSaveAction.xlSaveChanges, System.Type.Missing, System.Type.Missing, false, false, XlSaveAsAccessMode.xlNoChange, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);
          excelWB.Close(false, null, null);
        }
        catch (Exception ex)
        {
          MessageBoxResult result = MessageBox.Show(ex.Message);
          //throw ex;
        }
        finally
        {
          excelApp.Quit();
          MessageBoxResult result = MessageBox.Show("Exportação concluida com sucesso.");
          txtArmazenagem.Text = "";
          txtNomeArquivoArmazenagem.Text = "";
          dataGrid2.DataContext = null;
        }

转载于:https://www.cnblogs.com/liancs/archive/2011/05/11/3879318.html

网站文章

  • Adam 优化算法

    Adam 优化算法

    转载于:https://www.jiqizhixin.com/articles/2017-07-12 什么是 Adam 优化算法? Adam 是一种可以替代传统随机梯度下降过程的一阶优化算法,它能基于...

    2023-12-31 17:41:40
  • C++ string转任意数值类型

    #include &quot;stdafx.h&quot; #include #include #include &quot;stdint.h&quot; using namespace std; t...

    2023-12-31 17:41:35
  • 信息检索导论读书笔记(一):开篇

    不知不觉马上要毕业了,前段时间由于一直在做毕业设计的项目,没有时间学习计算机相关知识,最近终于把大论文交了,又有点时间看一下自己想看的知识。除了之前还留了个尾巴的操作系统课程笔记,由于要入职的组是做搜索的,所以打算看一下相关的书籍《信息检索导论》,应该能够从中收获很多知识。 不过这一系列笔记可能跟之前网络和操作系统的课程笔记不太一样,更加偏重计一些我自己认为有意义有意...

    2023-12-31 17:41:08
  • JS中 split(/\s+/) 和 split(‘ ‘)的区别

    最近在刷力扣题翻转字符串里的单词中用到了javascript中内置的API函数split(/\s+/)现整理其相关的一些用法

    2023-12-31 17:41:03
  • android View 详解 热门推荐

    android.View.View(即View)类是以矩形的方式显示在屏幕上,View是用户界面控件的基础。View的继承层次关系如下图: 可以看到所有的界面控件都是View的子类。简单证实一下,每当你用findViewByIds(R.id.xx)时总要将其强转,因为该方法返回的是一个View实例,有木有!!!其中不得不提View的subClass ViewGroup。Android系统

    2023-12-31 17:40:57
  • 性能测试-关于阿里云PTS使用与思考

    性能测试-关于阿里云PTS使用与思考

    1、性能测试必要性 官话:性能测试能帮助用户更好地从技术上来规避系统上线后的风险、评估线上系统的真实能力、根据业务模型摸底线上能力以提前应对 个人理解:服务器有性能瓶颈,用户的操作对于服务器会有影响,...

    2023-12-31 17:40:28
  • 梅科尔工作室-深度学习第二节-BP神经网络

    梅科尔工作室-深度学习第二节-BP神经网络

    是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。核心思想就是正向传播和误差的反向计...

    2023-12-31 17:40:22
  • 【LeetCode】 71.Simplify Path 文件路径化简

    一、概述输入一个字符串,字符串中包含“/ . a~z”,组成一个文件路径。将其化为最简路径。有以下几条要注意有“/..”时,相当于返回上一层,它前面的一层要删掉;有“/.”时,相当于在本层,没卵用,可以删掉;多个/和一个一样,可以压缩。看上去很简单,实际很麻烦,有许多边界条件。二、分析1、我的方法有边界条件没找出,没AC,而且代码十分丑陋。实在是懒得再去debu...

    2023-12-31 17:40:19
  • JAVA集合对指定字段进行排序操作

    排序都是按照依次顺序进行排序(如1、2、3;或者3、2、1),那想实现根据自定义规则如何实现(如3、1、2;或者1、3、2)。

    2023-12-31 17:39:51
  • 函数传参的方式php,图文详解php函数参数的几种传递方式

    函数传参的方式php,图文详解php函数参数的几种传递方式

    在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。按值传递参数默认的传参方式,我们在传递参数的时候默认使用的就是这个方式,对形式参数的操作,不会影响到实际参数的值。因此如果不希望函数修改实参的值,就可以通过值传递的方式。...

    2023-12-31 17:39:45