千家信息网

C#读写Excel的方法有几种

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,本篇文章给大家分享的是有关C#读写Excel的方法有几种,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1 使用Office自带的库前提是
千家信息网最后更新 2024年11月28日C#读写Excel的方法有几种

本篇文章给大家分享的是有关C#读写Excel的方法有几种,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1 使用Office自带的库

前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Microsoft.Office.Interop.Excel

读写代码如下:

using Microsoft.Office.Interop.Excel;using Excel = Microsoft.Office.Interop.Excel; private void btn_Office_Click(object sender, EventArgs e) { string importExcelPath = "E:\\import.xlsx"; string exportExcelPath = "E:\\export.xlsx"; //创建 Excel.Application xlApp = new Excel.Application(); xlApp.DisplayAlerts = false; xlApp.Visible = false; xlApp.ScreenUpdating = false; //打开Excel Excel.Workbook xlsWorkBook = xlApp.Workbooks.Open(importExcelPath, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing); //处理数据过程,更多操作方法自行百度 Excel.Worksheet sheet = xlsWorkBook.Worksheets[1];//工作薄从1开始,不是0 sheet.Cells[1, 1] = "test"; //另存 xlsWorkBook.SaveAs(exportExcelPath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //关闭Excel进程 ClosePro(xlApp, xlsWorkBook); } public void ClosePro(Excel.Application xlApp, Excel.Workbook xlsWorkBook) { if (xlsWorkBook != null) xlsWorkBook.Close(true, Type.Missing, Type.Missing); xlApp.Quit(); // 安全回收进程 System.GC.GetGeneration(xlApp); IntPtr t = new IntPtr(xlApp.Hwnd); //获取句柄 int k = 0; GetWindowThreadProcessId(t, out k); //获取进程唯一标志 System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k); p.Kill(); //关闭进程 }

2. 使用NPOI  

地址:https://github.com/tonyqus/npoi

在不安装office的时候也是可以读写的,速度很快,从Nuget下载 NPOI

读写代码如下:

using System.IO;using NPOI;using NPOI.SS.UserModel; private void btn_NPOI_Click(object sender, EventArgs e) { string importExcelPath = "E:\\import.xlsx"; string exportExcelPath = "E:\\export.xlsx"; IWorkbook workbook = WorkbookFactory.Create(importExcelPath); ISheet sheet = workbook.GetSheetAt(0);//获取第一个工作薄 IRow row = (IRow)sheet.GetRow(0);//获取第一行 //设置第一行第一列值,更多方法请参考源官方Demo row.CreateCell(0).SetCellValue("test");//设置第一行第一列值 //导出excel FileStream fs = new FileStream(exportExcelPath, FileMode.Create, FileAccess.ReadWrite); workbook.Write(fs); fs.Close(); }

3. 使用ClosedXml  

地址:https://github.com/ClosedXML/ClosedXML

从Nuget下载ClosedXml

读写代码如下:

using ClosedXML;using ClosedXML.Excel; private void btn_ClosedXML_Click(object sender, EventArgs e) { string importExcelPath = "E:\\import.xlsx"; string exportExcelPath = "E:\\export.xlsx"; var workbook = new XLWorkbook(importExcelPath); IXLWorksheet sheet = workbook.Worksheet(1);//这个库也是从1开始 //设置第一行第一列值,更多方法请参考官方Demo sheet.Cell(1, 1).Value = "test";//该方法也是从1开始,非0 workbook.SaveAs(exportExcelPath); }

4. 使用 spire.xls  

地址:https://www.e-iceblue.com/Introduce/free-xls-component.html

spire分免费和收费,无特殊需求用免费即可

从Nuget下载Free Spire.xls For .NET

读写代码如下:

using Spire.Xls; private void btnSpire_Click(object sender, EventArgs e) { string importExcelPath = "E:\\import.xlsx"; string exportExcelPath = "E:\\export.xlsx"; Spire.Xls.Workbook workbook = new Spire.Xls.Workbook(); workbook.LoadFromFile(importExcelPath); //处理Excel数据,更多请参考官方Demo Spire.Xls.Worksheet sheet = workbook.Worksheets[0]; sheet.Range[1,1].Text = "test";//该方法也是从1开始,非0 workbook.SaveToFile(exportExcelPath); }

5. EPPLUS  

地址:https://github.com/pruiz/EPPlus/tree/master/EPPlus

没用过这个,暂时就不做介绍了

以上就是C#读写Excel的方法有几种,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

方法 更多 一行 代码 地址 进程 官方 参考 工作 C# 数据 知识 篇文章 处理 不同 实用 特殊 安全 之间 前提 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库的技术问题及解决方案 深圳市吉佳互联网科技 汕尾软件开发公司制作 软件工程 vr软件开发 软件开发测试计划模板 征集有创意的数据库主题 鲲鹏服务器基础架构 网络安全攻击的形式有哪几种 ea根据sql脚本生成数据库 北京汽车软件开发公司名单 网络安全工程师与黑客 深圳富源网网络技术有限公司 数据库对象生日礼物创意 通过数据库无法删除微信记录 安徽托育管理系统软件开发 5开服务器选择 为什么我数据库没有cdx 惠普服务器系统电话激活 云服务器是虚拟主机吗 江苏专业软件开发服务有哪些 个人制作数据库 nas为什么要依靠官方服务器 怎么知道其他公司服务器的ip 易尚云科网络技术公司 金山区网络营销软件开发供应商 网络安全大赛个人赛冠军 oracle数据库配置业务流程 海淀区节能软件开发价钱 软件开发Web浏览器简称为 社会实践网络安全调查
0