c#如何实现对表格(excel)的增删改查? 10

 我来答
爱唐伯虎点文香
2019-08-08 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1778
采纳率:94%
帮助的人:174万
展开全部
一、首先处理好数据库连接字串

Excel2000-2003: string connStr = "Microsoft.Jet.Oledb.4.0;Data Source='c:\test.xls';Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";

Excel2007: string connStr = "Microsoft.Ace.OleDb.12.0;Data Source='c:\test.xlsx';Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";";

其中:

HDR ( Header Row )设置:

若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称

若指定值为 No,代表 Excel 档中的工作表第一行就是资料了,没有栏位名称

IMEX ( IMport EXport mode )设置

当 IMEX=0 时为"汇出模式",这个模式开启的 Excel 档案只能用来做"写入"用途。

当 IMEX=1 时为"汇入模式",这个模式开启的 Excel 档案只能用来做"读取"用途。

当 IMEX=2 时为"连结模式",这个模式开启的 Excel 档案可同时支援"读取"与"写入"用途。

二、进行表格数据的查询、插入和更新:

(假设Excel文件text.xls中存在Excel表单tree,有2列分别为id,name)

1、查询

String sql = "select id, name from [tree$]";



String sql = "select id, name from `tree$`;

2、插入

String sql = "insert into [tree$] (id,name) values(1,'testname');

3、更新

String sql = "update [tree$] set name='name2' where id=1;

4、数据的删除

在OleDB的连接方式下,不可以使用delete from 语句来删除某表中的某一条记录。确切的说,在此模式下,将无法删除表中的记录。即使用update语句将所有的字段写成null,打开excel文件后依然会发现保留了该空行,而且在使用oleDB连接进行查询时,依然会查询到这条空数据。
李磊_1
2019-08-08 · TA获得超过299个赞
知道小有建树答主
回答量:337
采纳率:66%
帮助的人:119万
展开全部

C# 操作Excel分很多种方法,有COM,有ODBC,但是如果你要更灵活的操作,建议使用第三方库,这里推荐几个:

1、NPOI

优点:开源,你可以到npoi的git镜像下载源代码来看;

缺点:如果使用普通接口,在Excel比较大的情况下可能造成内存溢出(当然有解决方案,具体就去看文档吧);

2、OpenXML

优点:微软出的,比较官方,和现在的offce格式兼容性比较好而且也开源,具体可以到Open-XML-SDK查看;

缺点:只支持 Excel 2007之后版本,而且需要对文件格式比较了解;

3、aspose.cells

优点:封装的比较好,内存处理上比npoi和openxml要好些,接口简单易用;

缺点:收费,免费版会在生成的 Excel 中写入 Aspose 标志;

4、自己解析格式

优点:更灵活,想干啥干啥;

缺点:要对excel格式了解的比较多,比较麻烦。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1996梦想家
2019-08-08 · 不如意十之八九,可总有那么一二可以唠唠
1996梦想家
采纳数:402 获赞数:810

向TA提问 私信TA
展开全部
office现在有新加的开发技术,vsto,就是基于c#的,虽然还是比较冷门,但是很多时候感觉比vba顺手。具体可以找刘永富老师的教程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Office文档开发
2019-11-08 · 专注文档开发的码字君
Office文档开发
采纳数:47 获赞数:66

向TA提问 私信TA
展开全部

直接用Excel的类库来操作的话要容易的多,free spire.xls for .net这个免费Excel类库,中文站有很多教程示例可以参考,写得都比较详细

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式