欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#数据导入到EXCEL的方法

程序员文章站 2023-11-27 10:32:16
c#做公司的应用级开发时,导出数据这个是经常要做的,公司使用的是一个叫npoi的组件。具体是什么我就不很清楚,反正这样用就是了。 具体的dll是一个叫:npoi.hssf...

c#做公司的应用级开发时,导出数据这个是经常要做的,公司使用的是一个叫npoi的组件。具体是什么我就不很清楚,反正这样用就是了。

具体的dll是一个叫:npoi.hssf.dll,引入这个dll,这个dll提供hssfworkbook类 hssfsheet类hssfrow类;

具体实现方式直接看代码吧:

public static stream datasettoexcel(dataset _sourcedt,string _sheetname)
    {
      hssfworkbook workbook = new hssfworkbook();
      memorystream ms = new memorystream();
      string [] sheetnames= _sheetname.split(',');
      for(int i = 0; i <sheetnames.length;i++)
      {
        hssfsheet sheet = workbook.cretesheet(sheetnames[i]);
        hssfrow headrow = sheet.createrow(0);
        foreach(datacolumn column in _sourcedt.table[i].cloumns)
        headrow.createcell(column.ordinal).setcellvalue(column.column.name);
        int rowindex =1;
        foreach(datarow row in _sourcedt.tables[i].rows)
        {
          hssfrow datarow = sheet.createrow(rowindex);
          foreach(datacolumn column in _sourcedt.tables[i].columns)
          {
            datarow.createcell(column.ordinal).setcellvalue(row[column].tostring());
          }
          rowindex++;
        }
      }
      workbook.write(ms);
      ms.flush();
      ms.position = 0;
      workbook = null;
      return ms;
    }

主要是要构建一个数据来源的dataset ;还是直接上代码吧:

   datatable dt = new datatable();
      dataset datatemp = new dataset();
      dt.columns.add("列名1",string);
      dt.columns.add("列名2",string );
      for(int i = 0;i<3;i++)
      {
        datarow dr = dt.newrow();
        dr["列名1"] = "data1";
        dr["列名2"] = "data1";
        dt.rows.add(dr);
      }
      datatemp.tables.add(dt);

data1和data2就是你要导出的数据了。

以上不是开发的源代码,只是方法。仅供参考;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接