Winform中使用NPOI实现导出Excel并文件另存为

场景

POI是一套用Java写成的Excel导入导出的库。

NPOI就是POI的.NET版本。

NPOI官网

https://archive.codeplex.com/?p=npoi

NPOI教程

https://www.cnblogs.com/atao/

NPOI相关Lib中各种dll文件下载

https://download.csdn.net/download/badao_liumang_qizhi/11608830

SpringBoot中使用POI实现自定义Excel布局式导出

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89497792

实现

新建Winform程序,在解决方案资源管理器下的引用中右击-添加

Winform中使用NPOI实现导出Excel并文件另存为_第1张图片

 

将上面下载的NPOI.dll下载后,选中添加。

Winform中使用NPOI实现导出Excel并文件另存为_第2张图片

 

添加成功之后

Winform中使用NPOI实现导出Excel并文件另存为_第3张图片

 

在窗体设计页面拖拽一个Button,然后双击进入其点击事件。

private void button1_Click(object sender, EventArgs e)
        {
            //创建.xls文件
            IWorkbook excel = new HSSFWorkbook();
            //创建sheet
            ISheet sheet = excel.CreateSheet("sheet1");
            //创建第一行  以0开始
            IRow row = sheet.CreateRow(0);
            //创建单元格Cell并赋值
            row.CreateCell(0).SetCellValue("姓名");
            row.CreateCell(1).SetCellValue("性别");
            row.CreateCell(2).SetCellValue("爱好");
            row.CreateCell(3).SetCellValue("籍贯");
            row.CreateCell(4).SetCellValue("备注");
            //创建第二行
            IRow row1 = sheet.CreateRow(1);
            row1.CreateCell(0).SetCellValue("霸道");
            row1.CreateCell(1).SetCellValue("男");
            row1.CreateCell(2).SetCellValue("编程");
            row1.CreateCell(3).SetCellValue("山东");
            row1.CreateCell(4).SetCellValue("好人");
            //写入文件 弹出文件保存
            //文件名  以获取当前时间作为文件命名
            string filename = DateTime.Now.ToString("yyyyMMddhhmmss");
            //提示用户选择文件的保存位置。 此类不能被继承。
            SaveFileDialog saveDialog = new SaveFileDialog();
            //设置默认文件扩展名。
            saveDialog.DefaultExt = "xls";
            //设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。
            saveDialog.Filter = "Excel文件|*.xls";
            //设置文件名
            saveDialog.FileName = filename;
            //  用默认的所有者运行通用对话框。
            saveDialog.ShowDialog();
            //如果修改了文件名,用对话框中的文件名名重新赋值
            filename = saveDialog.FileName;
            //被点了取消
            if (filename.IndexOf(":") < 0) return;
            //为文件提供 Stream,既支持同步读写操作,也支持异步读写操作。
            FileStream xlsfile = new FileStream(saveDialog.FileName, FileMode.Create);
            //excel写入文件流
            excel.Write(xlsfile);
            //关闭文件流
            xlsfile.Close();
            //通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 Process 组件关联。
            //即保存后打开Excel
            System.Diagnostics.Process.Start(filename);
        }

使用上面点需要引入命名空间。

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.IO;

运行效果

Winform中使用NPOI实现导出Excel并文件另存为_第4张图片

 

Winform中使用NPOI实现导出Excel并文件另存为_第5张图片

 

 

示例源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11611444

你可能感兴趣的:(C#)