这篇文章主要介绍了详解C#读写擅长的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1 使用Office自带的库
前提是本机须安装办公室才能运行,且不同的办公室版本之间可能会有兼容问题,从努格特下载微软办公室。Interop.Excel
读写代码如下:
使用微软办公室。互操作。擅长
使用Excel=微软.办公室。互操作。擅长
私有void btn_Office_Click(对象发送方,EventArgs e)
{
string importExcelPath=' E:\ \ import。xlsx ';
string exportExcelPath=' E:\ \ export。xlsx ';
//创建
Excel .应用程序xlApp=新Excel .应用程序();
xlApp .显示警报=假;
xlApp .可见=假;
xlApp .ScreenUpdating=false
//打开擅长
Excel .工作簿xlsWorkBook=xlApp .练习册。Open(importExcelPath,System .类型。缺少,系统。类型。缺少,系统。类型。缺少,
系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,
系统。类型。缺少,系统。类型。缺少,系统。类型。缺少,系统.类型。失踪);
//处理数据过程,更多操作方法自行百度
Excel .工作表sheet=xlsWorkBook .工作表[1];//工作薄从一开始,不是0
床单. Cells[1,1]=' test ';
//另存
xls工作簿.SaveAs(exportExcelPath,类型。缺失,类型。缺失,类型。缺失,类型。缺失,类型。缺少XlSaveAsAccessMode.xlNoChange,
类型。缺失,类型。缺失,类型。缺失,类型。缺失,类型。失踪);
//关闭擅长进程
ClosePro(xlApp,xls工作本);
}
public void ClosePro(Excel .应用程序xlApp,Excel .工作簿xls工作簿)
{
if (xlsWorkBook!=空)
xls工作簿.关闭(真,类型。缺失,类型。失踪);
xlApp .quit();
//安全回收进程
系统10 . GC。获取生成(xlApp);
IntPtr t=new IntPtr(xlApp .hwnd);//获取句柄
int k=0;
GetWindowThreadProcessId(t,out k);//获取进程唯一标志
系统。诊断。过程p=系统诊断。过程。getprocessbyid(k);
页(第页的缩写)kill();//关闭进程
}
2. 使用NPOI
地址:https://github.com/tonyqus/npoi
在不安装办公室的时候也是可以读写的,速度很快,从努格特下载NPOI
读写代码如下:
使用系统。木卫一;
使用NPOI;
利用NPOI .党卫军。用户模型
私有void btn_NPOI_Click(对象发送方,事件参数e)
{
string importExcelPath=' E:\ \ import。xlsx ';
string exportExcelPath=' E:\ \ export。xlsx ';
工作手册工作簿工作簿工厂.create(importExcelPath);
我工作表=工作簿在(0)处获取工作表;//获取第一个工作薄
IRow row=(IRow)sheet .GetRow(0);//获取第一行
//设置第一行第一列值,更多方法请参考源官方演示
划CreateCell(0).SetCellValue(' test ');//设置第一行第一列值
//导出擅长
FileStream fs=new FileStream(exportExcelPath,FileMode .创建,文件访问。读写);
工作簿。写(fs);
fs .close();
}
3. 使用ClosedXml
地址:https://github。com/封闭式XML/封闭式XML
从努格特下载ClosedXml
读写代码如下:
使用ClosedXML
使用ClosedXML .擅长
私有void btn_ClosedXML_Click(对象发送方,EventArgs e)
{
string importExcelPath=' E:\ \ import。xlsx ';
string exportExcelPath=' E:\ \ export。xlsx ';
var workbook=new XL workbook(importExcelPath);
ixl工作单工作表=工作簿。工作表(1);//这个库也是从一开始
//设置第一行第一列值,更多方法请参考官方演示
床单。单元格(1,1)。Value=' test//该方法也是从一开始,非0
工作簿.另存为(exportExcelPath);
}
4. 使用 spire.xls
地址:https://www。冰蓝色。com/Introduce/free-xls-component。超文本标记语言
螺旋分免费和收费,无特殊需求用免费即可
从努格特下载免费Spire.xls .网
读写代码如下:
使用尖顶.Xls
私有void btnSpire_Click(对象发送方,EventArgs e)
{
string importExcelPath=' E:\ \ import。xlsx ';
string exportExcelPath=' E:\ \ export。xlsx ';
尖顶. Xls。工作簿工作簿=新Spire .xls。工作簿();
工作簿LoadFromFile(importExcelPath);
//处理擅长数据,更多请参考官方演示
尖顶. Xls。工作表工作表=工作簿。工作表[0];
床单。范围[1,1]。Text=' test//该方法也是从一开始,非0
工作簿savet of ile(exportExcelPath);
}
5. EPPLUS
地址:https://github。com/pru iz/EP plus/tree/master/EP plus
没用过这个,暂时就不做介绍了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。