winform 导出 Excel

本篇博客将介绍「winform 导出 Excel」或「VS2017 导出 Excel 」又或「C# 导出 Excel」又或「.Net 导出 Excel」的常用的两种方式以及简单分享其他方式(能力原因,已经尽力,用词还是可能不当)。

将数据通过 DataGridView 展示出来之后,用户可能会用 Excel 来存储资料,故还需要将 DataGridView 中显示的必要数据导出。

利用 Microsoft.Office.Interop.Excel

具体步骤请参考:VS2017 导出Excel

注意事项:

在上述博客中,提到 添加好引用之后需要做的就是写代码,但是有一点… 别忘记引用命名空间
但是我在微软的官方资料中并没有发现说要「引用命名空间」,参考 Office 如何使用 Excel 对象将 DataGridView 数据导出到 Excel 示例

如果确实需要导入命名空间的话,那就引用下吧,毕竟就是个 Alt + Enter 的功夫或者 Shift + Alt + F10 的功夫。

利用 NPOI

在 NuGet 中可能搜不到 NPOI ,可以按照以下步骤解决:
按 工具->NuGet 包管理器->程序包管理控制台 顺序依次点击,在 VS2017 界面的弹出的 程序包管理控制台输入 Install-Package NPOI -Version 2.4.1
具体参考:NuGet Gallery

NPOI 常用方法:

  • 工作本HSSFWorkbook
    构造方法,无参表示创建一个新的工作本,可以接收一个流用于打开一个现有的工作本
    方法CreateSheet(索引):创建指定索引的sheet对象
    方法GetSheetAt(索引):根据索引获取sheet对象
    方法CreateCellStyle():创建单元格样式对象
    方法CreateFont():创建字体对象
    方法Write(stream):将工作本输出到流中
  • 工作表HSSFSheet
    方法CreateRow(索引):创建指定索引的行
    方法GetRow(索引):根据索引获取行
    方法AddMergedRegion():设置合并区域,参数包括开始行索引、开始列索引、结束行索引、结束列索引
    方法SetColumnWidth(索引,宽度):设置指定列的宽度,单位是一个字符宽度的256分之1(说明:一个汉字占用两个字符)
    属性FirstRowNum、LastRowNum:获取第一行、最后一行的索引值
  • 行HSSFRow
    方法CreateCell(索引):创建指定索引的行
    方法GetCell(索引):根据索引获取单元格
    属性HeightInPoints:指定或设置高度
  • 单元格HSSFCell
    方法SetCellValue():设置单元格中的值
    属性***CellValue:获取单元格中指定类型的值,如果类型不匹配则抛异常
    属性CellStyle:获取或设置单元格样式
  • 单元格样式HSSFCellStyle
    方法SetFont(字体对象):设置字体样式
    属性Alignment:水平对齐,1左,2中,3右
  • 字体对象HSSFFont
    属性FontHeightInPoints:获取或设置字体大小
    属性Boldweight:获取或设置字体加粗

代码示例:

sing Entity;
using Facade;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.Collections
评论 70
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值