当前位置: 首页 > backend >正文

c#操作excel表格

     c#操作excel表格有很多方法,本文介绍的是基于Interop.Excel方式。该方式并不是winform操作excel的最好方法,本文介绍该方法主要是为一些仍有需求的小伙伴。建议有兴趣的小伙伴可以看一下miniexcel,该方法更简洁高效。

一、首先需要下载interop.excel库,在“管理NuGET程序包中下载

二、包含头文件

using Excel = Microsoft.Office.Interop.Excel;

三、操作excel

本文把相关读写excel封装成函数,具体如下:

1、往某个单元格写入数据

public bool WriteToCell(string openAddr,string sheet,int row,int column,string value){try{Excel.Application excelAppWrite = null;Excel.Workbook workbookWrite = null;Excel.Worksheet worksheetWrite = null;excelAppWrite = new Excel.Application();workbookWrite = excelAppWrite.Workbooks.Open(openAddr);worksheetWrite = workbookWrite.Sheets[sheet];Excel.Range xlRange = worksheetWrite.UsedRange;xlRange.Cells[row, column] = value;// 关闭工作簿并退出Excel应用程序workbookWrite.Close(true);excelAppWrite.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheetWrite);System.Runtime.InteropServices.Marshal.ReleaseComObject(workbookWrite);System.Runtime.InteropServices.Marshal.ReleaseComObject(excelAppWrite);worksheetWrite = null;workbookWrite = null;excelAppWrite = null;GC.Collect();return true;}catch (Exception ex){            return false;}}

2、往excel表最后一行写入数据

public bool WriteToRow(string openAddr, string sheet,string[] valueArray){try{Excel.Application excelAppWrite = null;Excel.Workbook workbookWrite = null;Excel.Worksheet worksheetWrite = null;excelAppWrite = new Excel.Application();workbookWrite = excelAppWrite.Workbooks.Open(openAddr);worksheetWrite = workbookWrite.Sheets[sheet];Excel.Range xlRange = worksheetWrite.UsedRange;int numberOfRows = xlRange.Rows.Count;for (int i = 0; i < valueArray.Length; i++){xlRange.Cells[numberOfRows + 1, i + 1] = valueArray[i];}// 关闭工作簿并退出Excel应用程序workbookWrite.Close(true);excelAppWrite.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheetWrite);System.Runtime.InteropServices.Marshal.ReleaseComObject(workbookWrite);System.Runtime.InteropServices.Marshal.ReleaseComObject(excelAppWrite);worksheetWrite = null;workbookWrite = null;excelAppWrite = null;GC.Collect();return true;}cat
http://www.xdnf.cn/news/1928.html

相关文章:

  • Java与Kotlin在Android开发中的全面对比分析
  • 【Luogu】动态规划四
  • Hot100方法及易错点总结2
  • firewalld 详解
  • 微信小程序蓝牙连接打印机打印单据完整Demo【蓝牙小票打印】
  • 【prompt是什么?有哪些技巧?】
  • Linux操作系统复习
  • 3D模型文件格式之《STL格式介绍》
  • SSH服务介绍
  • string的基本使用
  • uniapp自定义封装tabbar
  • 探索亚马逊云科技:开启您的云计算之旅
  • Safety Estimands与Efficacy Estimands的差异剖析
  • 模式设计简介
  • 北斗导航 | 北斗卫星导航单点定位精度提升方法总结,原理,公式,关键代码
  • 架构师面试(三十六):广播消息
  • websheet 之 sheet操作
  • c++11新特性随笔
  • 使用开源免费雷池WAF防火墙,接入保护你的网站
  • Shell 脚本入门:从零开始写自动化脚本
  • 代码随想录算法训练营day11(二叉树)
  • 轻量级静态网站托管:服务器配置与网站性能深入探讨
  • Sui 携手 xMoney 和 xPortal 推出虚拟万事达卡,拓展现实支付场景接入
  • 分布式ID生成方案详解
  • 软件为什么需要性能测试?软件测试机构性能测试注意事项有哪些?
  • 实时数据驱动未来:谷云科技CDC实时数据集成平台新版本发布
  • JAVA常用分布式锁Redisson
  • 大模型驱动智能服务变革:从全流程赋能到行业纵深落地
  • WHAT - 前端开发书单推荐
  • 带宽?增益带宽积?压摆率?