一、简述:
因为一些需要,需要使用excel读写,之前采用csv文件方式读写有些局限,而且,因为最近这台电脑的office组件右问题,这个方法用不了了。所以,得探索一下Excel新的读取方式,留个记录以便日后查看。
方式1:使用office组件, Microsoft.Office.Interop.Excel
方式2:使用NPOI组件,
方式3:使用OleDB组件,
二、详细介绍
方式1:使用office的COM组件, Microsoft.Office.Interop.Excel
依赖:1.需要安装Excel;2.需要添加Microsoft.Office.Interop.Excel 的dll引用 。
使用体验;可以灵活的操作单个单元格,但读写比较慢(数据量大的时候)。数据量较少还是可以用的。数据量大的时候按行读写可以快点,但。。。只是快点。
官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.office.interop.excel?view=excel-pia
使用方法:手头没有现成代码。借鉴(抄)了一下别人的,未验证手头电脑不好使没有excel。
链接在此,建议看原文,我的只是用来给自己备忘的 。
C#读写Excel(Com组件的方式):https://blog.csdn.net/qq_33459369/article/details/79314465
C#读写Excel的几种方法:https://blog.csdn.net/u010593753/article/details/89676558
//开头引用
using Microsoft.Office.Interop.Excel;
//引用定义
Microsoft.Office.Interop.Excel.Application app;
Microsoft.Office.Interop.Excel.Workbooks wbs;
Microsoft.Office.Interop.Excel.Worksheet ws;
string fileName ="D:\\test.xls";
object oMissiong = System.Reflection.Missing.Value;
app = new Microsoft.Office.Interop.Excel.Application();
wbs = app.Workbooks;
wbs.Open(fileName, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong);
ws = app.Worksheets.get_Item(1);
ws .Cells[1, 1] = "test";
wbs.SaveAs(fileName , oMissiong , oMissiong, oMissiong, oMissiong, oMissiong,XlSaveAsAccessMode.xlNoChange,oMissiong, oMissiong, oMissiong, oMissiong, oMissiong);
ClosePro(app, wbs);
//关闭进程
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组件
参考源: NPOI使用手册 https://www.cnblogs.com/joean/p/4661056.html
NPOI使用教程附Helper https://www.cnblogs.com/wyy1234/p/10039767.html
NPOI.Util 基础辅助库
NPOI.POIFS OLE2格式读写库
NPOI.DDF Microsoft Drawing格式读写库
NPOI.SS Excel公式计算库
NPOI.HPSF OLE2的Summary Information和Document Summary Information属性读写库
NPOI.HSSF Excel BIFF格式读写库
注意留意.net 和NPOI版本。
方式3:使用OleDB组件
......
临时有事,下次接着写。