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日

相关文章

  • C#基于委托实现多线程之间操作的方法

    “C#基于委托实现多线程之间操作的方法”指的是在多线程开发中,使用委托实现线程间的通信和数据交互。下面是使用委托实现多线程之间操作的方法攻略: 1. 创建委托 首先要创建一个委托类型,来定义需要在不同线程之间传递的方法: delegate void MyDelegate(object obj); 这个委托类型可以传递一个对象,可以应用于各种类型的方法。 2.…

    C# 2023年6月7日
    00
  • C#/VB.NET实现创建PDF/UA文件的示例代码

    我们来详细讲解一下“C#/VB.NET实现创建PDF/UA文件的示例代码”的完整攻略。 首先,我们需要了解一些基本的概念。PDF/UA是一种通用的文件格式,用于文档的可靠共享和阅读。PDF/UA文件需要遵循一定的规范和标准,以确保文件的可访问性和实用性。创建PDF/UA文件的过程中,我们需要使用特定的工具和方法,以确保文件的合规性和质量。 以下是创建PDF/…

    C# 2023年5月31日
    00
  • C#飞行棋小程序设计分析

    C#飞行棋小程序设计分析 介绍 随着计算机技术的不断发展,编程语言也日趋繁荣,其中C#语言便是其中之一。本篇文章将从C#语言的角度出发,介绍一款有趣的小游戏——飞行棋的实现过程。 游戏规则 飞行棋是一种类似于中国传统棋类游戏的桌面游戏,起源于台湾。首先,每个玩家需要选择一种飞机作为自己代表的角色,然后按照骰子点数的大小进行前进,遇到不同的事件(如“飞机停场”…

    C# 2023年6月8日
    00
  • asp.net 仿微信端菜单设置实例代码详解

    接下来我会详细讲解一下“asp.net 仿微信端菜单设置实例代码详解”的攻略。 一、前言 在这篇文章中,我想向大家分享一下关于如何在ASP.NET中仿制微信端的菜单设置功能。这个例子包括了使用Bootstrap来渲染菜单、使用Ajax异步获取数据、使用Model绑定与EF数据持久化等等。希望这个文章能够对大家在学习ASP.NET的过程中提供一定的帮助。 二、…

    C# 2023年5月31日
    00
  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度

    获取二维数组的行数和列数可以通过以下两种方式实现。 第一种方法是使用数组的Length和GetLength方法来获取。其中,数组的Length属性可以得到数组元素的总数量,而GetLength方法可以获得指定维度的元素数。 以下是示例代码: int[,] arr2D = new int[3, 4]; int row = arr2D.GetLength(0);…

    C# 2023年6月6日
    00
  • C#操作注册表的方法

    下面是关于C#操作注册表的方法的完整攻略。 什么是注册表 注册表是Windows操作系统中一个存储配置信息的关键数据结构。在注册表中,包含了大量的系统和软件的配置信息,比如安装路径、环境变量、文件类型、驱动程序等等。Windows系统和软件的运行状态也将会写入注册表。 在C#中,我们可以通过Registry类来访问和操作注册表。 C#操作注册表的方法 读取注…

    C# 2023年5月15日
    00
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级(六十)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)…

    C# 2023年4月18日
    00
  • C#如何判断.Net Framework版本是否满足软件运行需要的版本

    可以使用以下步骤来判断.Net Framework版本是否满足软件运行的需要的版本: 步骤一:引入System.Runtime.Versioning命名空间 判断.Net Framework 版本需要使用System.Runtime.Versioning命名空间中的FrameworkName类。首先需要在程序中引用此命名空间: using System.Ru…

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