C# Winform实现导入和导出Excel文件

让我为你详细解释一下“C# Winform实现导入和导出Excel文件”的完整攻略。

1. 需要用到的Nuget包

在C# Winform应用程序中,需要先安装Excel处理的Nuget包,在Visual Studio的Nuget包管理器中搜索NPOI,找到NPOI这个包,安装即可。

2. 导入Excel文件

下面是一个简单的示例程序,用于从Excel文件中读取数据并在控制台上输出。

using System;
using System.Data;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ImportExcelDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 指定Excel文件路径
            string filePath = "test.xlsx";

            // 创建文件流对象
            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);

            // 创建工作簿对象
            XSSFWorkbook workbook = new XSSFWorkbook(fs);

            // 获取第一个工作表
            XSSFSheet sheet = (XSSFSheet)workbook.GetSheetAt(0);

            // 遍历所有行,获取单元格数据并输出到控制台
            for (int i = 0; i <= sheet.LastRowNum; i++)
            {
                XSSFRow row = (XSSFRow)sheet.GetRow(i);
                if (row == null)
                    continue;

                for (int j = 0; j < row.LastCellNum; j++)
                {
                    XSSFCell cell = (XSSFCell)row.GetCell(j);
                    Console.Write(cell.ToString() + "\t");
                }
                Console.WriteLine();
            }

            // 关闭文件流
            fs.Close();
        }
    }
}

这个示例程序使用NPOI库读取Excel文件中的所有数据,并在控制台上输出。需要注意的是,示例程序中的test.xlsx文件需要与程序放在同一目录下。

3. 导出Excel文件

下面是一个简单的示例程序,用于将数据写入Excel文件并保存到本地。

using System;
using System.Data;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExportExcelDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建工作簿对象
            XSSFWorkbook workbook = new XSSFWorkbook();

            // 创建工作表对象
            XSSFSheet sheet = (XSSFSheet)workbook.CreateSheet("Sheet1");

            // 添加列名
            XSSFRow headerRow = (XSSFRow)sheet.CreateRow(0);
            headerRow.CreateCell(0).SetCellValue("Name");
            headerRow.CreateCell(1).SetCellValue("Age");
            headerRow.CreateCell(2).SetCellValue("Gender");

            // 添加数据
            for (int i = 1; i <= 10; i++)
            {
                XSSFRow dataRow = (XSSFRow)sheet.CreateRow(i);
                dataRow.CreateCell(0).SetCellValue("张三" + i.ToString());
                dataRow.CreateCell(1).SetCellValue(i);
                dataRow.CreateCell(2).SetCellValue("男");
            }

            // 保存Excel文件到本地
            string filePath = "test.xlsx";
            FileStream fs = new FileStream(filePath, FileMode.Create);
            workbook.Write(fs);
            fs.Close();

            Console.WriteLine("文件保存成功!");
        }
    }
}

这个示例程序创建了一个简单的数据表,并写入Excel文件,将文件保存到本地。需要注意的是,示例程序中的test.xlsx文件会被覆盖,因此需要做好备份。

希望这些示例程序能对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Winform实现导入和导出Excel文件 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • .NetCore Web Api 利用ActionFilterAttribute统一接口返回值格式及问题解析

    在.NET Core Web API中,我们可以使用ActionFilterAttribute来统一接口返回值格式。在本攻略中,我们将详细讲解如何使用ActionFilterAttribute来统一接口返回值格式,并解析可能遇到的问题。 创建ActionFilterAttribute:首先,我们需要创建一个名为ResultFilterAttribute的Ac…

    C# 2023年5月16日
    00
  • C#调用SQL Server中有参数的存储过程

    下面是“C#调用SQL Server中有参数的存储过程”的完整攻略。 1. 准备工作 在 C# 中调用 SQL Server 中有参数的存储过程前,需要先进行以下准备工作: 保证安装了 SQL Server。若未安装,则需要先安装 SQL Server。 使用 SQL Server 进行建表和创建带参数的存储过程。具体的建表和创建存储过程可以参考 SQL S…

    C# 2023年5月31日
    00
  • 在 asp.net core 的中间件中返回具体的页面的实现方法

    在 ASP.NET Core 中,中间件是处理 HTTP 请求和响应的组件,可以是任何处理这些请求和响应的代码。在中间件中返回具体的页面,通常需要借助于 ASP.NET Core MVC 中的视图引擎和控制器。下面是具体的实现方法。 步骤1:添加 MVC 中间件服务 首先,需要在 ASP.NET Core 应用程序中添加 MVC 中间件服务。在 Startu…

    C# 2023年5月31日
    00
  • C#9.0主要特性的一些想法

    C# 9.0主要特性的一些想法 C# 9.0是Microsoft发布的最新版本的C#语言。本文将重点讲解C# 9.0的主要特性,包括以下内容: 改进模式匹配 新的init-only属性 支持 Lambda 计算式中的 Discards 函数成员中现在可以包含参数 null 性 注释 函数和 ltc 参数中支持 调用链 改进模式匹配 模式匹配是C#的一个非常强…

    C# 2023年6月1日
    00
  • IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)

    IIS7配置大全(ASP.NET2.0,WCF,ASP.NETMVC,php) IIS7是一款强大的Web服务器,支持多种Web应用程序的部署,包括ASP.NET2.0、WCF、ASP.NETMVC和php等。本文将详细讲解如何在IIS7中配置这些Web应用程序,并提供两个示例。 1. 配置ASP.NET2.0应用程序 以下是在IIS7中配置ASP.NET2…

    C# 2023年5月15日
    00
  • 在 .NET MAUI 中加载 json 文件的方法

    以下是关于在.NET MAUI中加载JSON文件的方法的完整攻略: 1. 问题描述 在.NET MAUI应用程序中,我们需要加载JSON文件以便读取其中的数据。本攻略将介绍如何在.NET MAUI中加载JSON文件。 2. 解决方案 在.NET MAUI中,我们可以使用System.Text.Json命名空间中的JsonSerializer类来加载JSON文…

    C# 2023年5月12日
    00
  • C#预处理器指令的用法实例分析

    下面就是关于”C#预处理器指令的用法实例分析”的完整攻略。 什么是C#预处理器指令 C#预处理器指令是指在编译代码之前进行的预处理操作,用于控制条件编译、定义条件编译符号、引用程序集等。这些指令也称为编译指令或条件编译指令。 在C#中,预处理器指令以井号(#)开头,并且必须位于源代码文件的最开始位置,用于对代码进行预处理操作,常用的预处理器指令有#defin…

    C# 2023年5月15日
    00
  • JS提交form表单实例分析

    JS提交form表单实例分析: 当用户在网站上填写表单时,通过JS代码来自动提交表单也是一种方便快捷的方式,本文将从以下几个方面阐述JS提交form表单的攻略: 首先需要获取form表单元素,可以通过form元素的Id或者Name来获取: let formEle = document.getElementById(‘formId’); // 或者 let f…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部