C#初次使用NPOI导出Excel

原创 2015年07月09日 08:55:13

最近上头说项目里面直接用微软的office导出Excel不稳定,给了我一个网址叫我用NPOI导出Excel.

网址:http://www.cnblogs.com/asxinyu/p/dotnet_opensource_project_3.html

看完教程我做了一个简单的Excel导出,不涉及公式\函数\图表等,用的是NPOI 1.2.5版本.

这个引用NPOI的类必须和调用的类在同一个项目中,如果在同一个解决方案却在不同的项目中会出现与程序集清单不匹配的错误.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using NPOI.SS.UserModel;
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.HSSF.UserModel;
using NPOI.POIFS;
using NPOI.Util;


public class NPOIExcelUtil
{
    /// <summary>
    /// 将DataTable导出成Excel表格
    /// </summary>
    /// <param name="data">需要导出的DataTable</param>
    /// <param name="output">导出的路径</param>
    public void toExcel(System.Data.DataTable data, string output)
    {
        try
        {
            //创建工作薄
            HSSFWorkbook workbook = new HSSFWorkbook();
            //创建一个表sheet
            ISheet sheet = workbook.CreateSheet("sheet");
            //创建第一行,新创建的表是没有单元格的,每一个需要写入数据的单元格都要手动创建
            IRow row = sheet.CreateRow(0);
            //将列名写入表的第一行
            for (int i = 0; i < data.Columns.Count; i++)
            {
                row.CreateCell(i);
                sheet.GetRow(0).GetCell(i).SetCellValue(data.Columns[i].ColumnName);
            }
            //写入数据
            for (int i = 1; i <= data.Rows.Count; i++)
            {
                row = sheet.CreateRow(i);
                for (int j = 0; j < data.Columns.Count; j++)
                {
                    row.CreateCell(j);
                    sheet.GetRow(i).GetCell(j).SetCellValue(data.Rows[i - 1][j].ToString());
                }
            }
            FileStream file = new FileStream(output, FileMode.Create);
            workbook.Write(file);
            file.Close();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
}


相关文章推荐

C#项目中操作Excel文件——使用NPOI库

实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包含数据记录、分析、汇总功能模块的项目。常用的操作Excel文件的方法主要有三个: 1. OleDb: 这种方式是把整个Exc...
  • dcrmg
  • dcrmg
  • 2016年08月29日 20:23
  • 12547

C#使用NPOI生成Excel

http://www.lwolf.cn/blog/article/code/csharp-npoi.htm 我以前在做C#项目时遇到过导出数据成Excel文件的问题,曾经用过office的组件,...
  • cqulyk
  • cqulyk
  • 2012年12月20日 18:01
  • 2151

C#.net导出标准的Excel(npoi)

不管用哪一种语言开发应用程序,导出功能是最常见的,一般导出文件格式最常见的有PDF 、Excel、CSV、Word、TXT等,今天我们在此介绍一下Excel的导出方法。     微软提供了导出Exce...

C# 导出到Excel(NPOI的使用)

最近研究下用C#导出Excel。最后选择要用NPOI来导出。在网上看到了好多的教程啊。于是我兴奋的模仿起来了。先创建个空的excel试试吧。结果:提示无法将类型“NPOI.SS.UserModel.S...
  • jxqvip
  • jxqvip
  • 2011年06月21日 09:32
  • 9253

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C# MVC .Net NPOI实现excel导出功能

C# MVC .Net NPOI实现excel导出功能

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C# NPOI导入与导出Excel

使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。...

初探:使用NPOI导出Excel(已有Excel模板)

最近在写个功能,要导出Excel到本地,第一次使用的方法是用office COM组件Microsoft.Office.Intertrop.Excel.dll,在我的机器上功能好用,但放到一个同事的机器...
  • gjban
  • gjban
  • 2014年09月03日 17:56
  • 3515

C#中使用NPOI将DataTable导出到Excel文件

需要引入dll(可以选择.net2.0、.net3.5或者.net4.0的dll) 点击下载DLL NopiExcel.cs类 using System; using System.Collect...
  • wwk0125
  • wwk0125
  • 2015年10月05日 11:24
  • 1537
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#初次使用NPOI导出Excel
举报原因:
原因补充:

(最多只允许输入30个字)