Winform通过NPOI导出excel


将Winform中的datagridview中的数据通过Excel导出,用SaveFileDialog指定位置导出,用到的技术是NPOI,不受office组件的影响。
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.POIFS;
using NPOI.Util;
using System.IO;
using System.Data;

namespace SaveFileDialogDemo
{
    class ExportXls
    {
        /// 
        /// 由DataTable导出Excel
        /// 

        /// 要导出数据的DataTable
        /// Excel工作表
        public void ExportDataTableToExcel(DataTable sourceTable string sheetName string filepath)
        {

            FileStream file = new FileStream(filepath FileMode.Create);
            HSSFWorkbook workbook = new HSSFWorkbook();
            // MemoryStream ms = new MemoryStream();
            ISheet sheet = workbook.CreateSheet(sheetName);
            IRow headerRow = sheet.CreateRow(0);
            // handling header.
            foreach (DataColumn column in sourceTable.Columns)

                headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
            // handling value.
            int rowIndex = 1;
            foreach (DataRow row in sourceTable.Rows)
            {
                IRow dataRow = sheet.CreateRow(rowIndex);
                foreach (DataColumn column in sourceTable.Columns)
                {
                    dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
                }
                rowIndex++;
            }
            workbook.Write(file);
            file.Close();
            sheet = null;
            headerRow = null;
            workbook = null;
        }

    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     200704  2013-01-02 20:15  SaveFileDialogDemoinDebugICSharpCode.SharpZipLib.dll

     文件    1600000  2014-01-05 10:51  SaveFileDialogDemoinDebugNPOI.dll

     文件     396288  2014-01-05 10:51  SaveFileDialogDemoinDebugNPOI.OOxml.dll

     文件      84480  2014-01-05 10:51  SaveFileDialogDemoinDebugNPOI.Openxml4Net.dll

     文件    1867776  2014-01-05 10:51  SaveFileDialogDemoinDebugNPOI.OpenxmlFormats.dll

     文件      12800  2014-10-15 11:23  SaveFileDialogDemoinDebugSaveFileDialogDemo.exe

     文件      30208  2014-10-15 11:23  SaveFileDialogDemoinDebugSaveFileDialogDemo.pdb

     文件      11600  2014-10-15 11:23  SaveFileDialogDemoinDebugSaveFileDialogDemo.vshost.exe

     文件        490  2010-03-17 22:39  SaveFileDialogDemoinDebugSaveFileDialogDemo.vshost.exe.manifest

     文件       1746  2014-10-15 11:22  SaveFileDialogDemoExportXls.cs

     文件    1600000  2014-01-05 10:51  SaveFileDialogDemoNPIONPOI.dll

     文件       4440  2014-10-15 11:15  SaveFileDialogDemoobjx86DebugDesignTimeResolveAssemblyReferences.cache

     文件       7277  2014-10-15 11:23  SaveFileDialogDemoobjx86DebugDesignTimeResolveAssemblyReferencesInput.cache

     文件       1223  2014-10-10 13:32  SaveFileDialogDemoobjx86DebugedmxResourcesToembedModel1.csdl

     文件       1080  2014-10-10 13:32  SaveFileDialogDemoobjx86DebugedmxResourcesToembedModel1.msl

     文件       1121  2014-10-10 13:32  SaveFileDialogDemoobjx86DebugedmxResourcesToembedModel1.ssdl

     文件        414  2014-10-10 15:05  SaveFileDialogDemoobjx86DebugGenerateResource.read.1.tlog

     文件        970  2014-10-10 15:05  SaveFileDialogDemoobjx86DebugGenerateResource.write.1.tlog

     文件      32404  2014-10-15 11:15  SaveFileDialogDemoobjx86DebugResolveAssemblyReference.cache

     文件       1127  2014-10-15 11:23  SaveFileDialogDemoobjx86DebugSaveFileDialogDemo.csproj.FileListAbsolute.txt

     文件      12800  2014-10-15 11:23  SaveFileDialogDemoobjx86DebugSaveFileDialogDemo.exe

     文件      30208  2014-10-15 11:23  SaveFileDialogDemoobjx86DebugSaveFileDialogDemo.pdb

     文件        180  2014-10-10 13:33  SaveFileDialogDemoobjx86DebugSaveFileDialogDemo.Properties.Resources.resources

     文件        180  2014-10-10 15:05  SaveFileDialogDemoobjx86DebugSaveFileDialogDemo.SaveFileDialogDemo.resources

     文件      46080  2014-10-10 13:25  SaveFileDialogDemoobjx86DebugTempPEDYAlarmDataSet.Designer.cs.dll

     文件       7680  2014-10-10 13:32  SaveFileDialogDemoobjx86DebugTempPEModel1.Designer.cs.dll

     文件        523  2014-10-10 10:51  SaveFileDialogDemoProgram.cs

     文件       1472  2014-10-10 10:51  SaveFileDialogDemoPropertiesAssemblyInfo.cs

     文件       2865  2014-10-10 10:51  SaveFileDialogDemoPropertiesResources.Designer.cs

     文件       5612  2014-10-10 10:51  SaveFileDialogDemoPropertiesResources.resx

............此处省略22个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)