打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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);        }
  1. EPPLUS
    地址:https://github.com/pruiz/EPPlus/tree/master/EPPlus
    没用过这个,就不做介绍了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
浅谈Excel开发:三 Excel 对象模型
NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别
C# Excel 行高,列宽,合并单元格,单元格边框线,冻结
C#读取EXCEL文件
C#实现向已存在的Excel文件中写入数据实例(可用两种方法)
类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服