C#对Excel的操作?(C# 解析Excel中的那些事儿)

2023-12-26 24阅读

C#对Excel的操作?

个人意见:不要使用,除非涉及到反射。dynamic的存在是为了减少在反射中大量冗余的代码而存在的。

C#对Excel的操作?(C# 解析Excel中的那些事儿)(图片来源网络,侵删)

比如,使用C#操作Excel库,你会发现Excel库中大量的类的类型都是object,如果你想调用里面的方法,按照传统的思路,你应该先getType,然后去拿method,或者进行invoke,通过反射来操作这个类,代码很长,很难看。这个时候,就应该用到dynamic了!比如:dynamic workbooks = ExcelApplication.Workbooks(); //ExcelApplication.Workbooks返回一个object类型workbooks.Add();workbooks的类型是object,所以你不可能直接调用它的Add。

声明为dynamic表示是运行时绑定,这样写,就不用写那么长的反射代码了。除这样的情况以外,不应该使用dynamic。所以题主这样写是不好的,干脆这样:T x1=x;T x2=y;return x1+x2;那么问题来了,编译器不知道x1可以加上x2,而且也没有操作符的这种泛型约束!所以还是用一个方法来代替泛型中的操作符吧。

C#如何读取excel文件?

我们都会用excel处理数据,而在程序开发中有时候就需要访问excel文件获得数据进行分 。此篇将会给大家分享如何用C#访问excel文件并读取数据进行展示。

C#对Excel的操作?(C# 解析Excel中的那些事儿)(图片来源网络,侵删)

1、 新建一个excel文件,在里面写入两行数据,如下所示:

2、 打开visual studio新建一个web窗体应用程序,如下所示:

3、在default.aspx中,添加一个按钮控件,添加一个gridview控件,按钮用于点击的时候 连接excel获取数据,gridview用于展示数据。

C#对Excel的操作?(C# 解析Excel中的那些事儿)(图片来源网络,侵删)

4、 双击连接按钮,添加按钮的点击事件,代码如下所示,这里主要注意的是连接字符串的 写法:Provider=Microsoft.Ace.OLEDB.12.0;Data Source=F:\test.xlsx;Extended Properties='Excel 12.0;HDR=false;IMEX=2;';Persist Security Info=False 这是 excel2007以及以后版本的写法,2007以前的写法如下所示: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" "; Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'"

5、以上程序写好以后,点击连接,就会提示excel连接成功,并且数据填充进gridview里 了。

到此,以上就是小编对于c# 读取excel文件内容的问题就介绍到这了,希望这2点解答对大家有用。

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]