本例子是创建了一个winform程序,如下图:

本文章只记录讲解打开并查询excel的部分代码。

按钮“选择excel文件” 的代码逻辑如下:

private void button4_Click(object sender, EventArgs e){OpenFileDialog openFile = new OpenFileDialog();openFile.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";// openFile.Filter = "Excel(*.xls)|*.xls";openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);openFile.Multiselect = false;if (openFile.ShowDialog() == DialogResult.OK){#region 获取文件内容erpClass _erpClass = new erpClass();var filePath = openFile.FileName;string fileType = System.IO.Path.GetExtension(filePath);textBox3.Text = filePath;string connStr = "";if (fileType == ".xls")connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";elseconnStr = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + filePath + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'"; ;string sql_F = "";OleDbConnection conn = null;OleDbDataAdapter da = null;try{conn = new OleDbConnection(connStr);conn.Open();#region 遍历sheetDataTable table = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);foreach (DataRow item in table.Rows){if (item["Table_Name"].ToString() == "机票对账单$"){sql_F = "select *  from [" + item["Table_Name"].ToString() + "] ";da = new OleDbDataAdapter(sql_F, connStr);dsItem = new DataTable();da.Fill(dsItem);}}#endregion}#endregioncatch (Exception ex){MessageBox.Show("操作失败!异常信息:" + ex.ToString());}finally{if (conn.State == ConnectionState.Open){conn.Close();da.Dispose();conn.Dispose();}}}}

运行后,点按钮选择excel文件后获取到的内容如下

说明一下,代码中“Table_Name”指表格中的工作表名称;

Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。

ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。

另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。

所以,在使用不同版本的office时,要注意使用合适的引擎。

如果提示12.0未注册,这里是文件分享下载链接不谢:

链接:https://pan.baidu.com/s/12-81a7JohuEgKixcVUiPSg 
提取码:0l9z

C# 兼容操作office或wps,打开excel文件相关推荐

  1. office365打开服务器文件出错,新安装的Office 365,打开Excel文件时出错,停止工作...

    您好, 根据您的描述,有可能是之前安装的Office残留文件或其他应用程序干扰导致的. 建议您尝试下面方法: 一.干净启动 1. 按Windows+R, 然后在输入框中输入msconfig,按回车,弹 ...

  2. html文件怎么在wps打开是乱码,wps上打开Excel文件是乱码

    按说WPS可以兼容OFFICE的Word和Excel以及PPT软件的,怎么可能乱码呢.一般乱码的情况,肯定是文档的编码错误,也有可能是软件版本的问题. 我在电脑上新建了一个Excel表格,我发给了他, ...

  3. python应用系列教程——python操作office办公软件(excel)

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作office办公软件(excel).本文对涉及xls文件读写上不方便.如果你需要通过python读写xls文件,可以参考htt ...

  4. wps表格宏被禁用如何解禁_(wps表格怎么设置宏)为什么每次打开excel文件都要提示启用或者禁用宏?...

    打开Excel时出现"该工程中的宏被禁止",怎么启用宏? 启用宏的方法(2003 版): 工具 → 宏 → 安全性 → 安全级 → 中 关闭Excel → 重新打开 → 启用宏 - ...

  5. python 调起wps 打开 excel

    python 调起wps 打开 excel pip install pypiwin32 import win32api win32api.ShellExecute(0, 'open', r" ...

  6. 关于Excel操作编写的一个软件设计构思案例[连载] --如何打开Excel文件,获取需要列的数据显示到表格内做修改

    如何打开Excel文件,获取需要列的数据显示到表格内做修改? DataSet 读取表格数据 = new DataSet(); Thread 读取, 更新; int 计数 = 0, 定位 = 0, 原条 ...

  7. 【奇葩问题】每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档

    程序员的奇葩问题又增加了,问题如题:每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档 一切的源头在于前段时间装了MySQL数据库,他就自动加载了两者之间的关联启动项 ...

  8. pageoffice打开excel文件变成了打开本地~tempXXXX-Excel文件

    1.问题描述 本地安装了家庭版Office或Office Excel 2019后,用pageoffice打开excel文件,变成了本地打开excel临时文件(~tempXXXX-Excel),导致无法 ...

  9. 让IE不自动打开Excel文件而是下载excel文件

    我的电脑上安装了Office,所以IE会直接在浏览窗口里打开Excel文件.请问怎样才能避免标题情况呢? 1---------------------- <% Response.ContentT ...

最新文章

  1. WebSocket API简介
  2. redhat7 Oracle 12C 安装
  3. c 自动生成html报告,Pytest框架之 - Allure生成漂亮的HTML图形测试报告
  4. 11.17-20 | KubeCon 北美 2020 阿里巴巴完整议题
  5. sparklines图表
  6. 好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题...
  7. nmap结果导出html,nmap的简单使用 - osc_ijgldkz9的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. windows查看dll库接口函数
  9. 第三只眼使用局域网版本还是网络版好_让汽车的“第三只眼”更聪明更安全
  10. Windows 7 卸载 IE10
  11. SpringBoot技术点细解
  12. 一颗电阻失效引发的设计思考
  13. 阿里异构离线数据同步工具/平台DataX
  14. 如何申请CSDN博客?
  15. 隐私计算技术|深度解读可信隐私计算框架“隐语”
  16. 初级C语言之【操作符】
  17. C++小课堂:STL中的栈容器(stack)
  18. 【C++】深度剖析string类的底层结构及其模拟实现
  19. python实验五答案_Python实验五
  20. 编译原理实验报告一:PL0语言编译器分析(PL0,词法分析,语法分析,中间代码生成)

热门文章

  1. 自己对win10虚拟内存的理解,不一定对
  2. Android多行文本折叠展开效果
  3. Python练习题:凯撒密码 的一种简单解法
  4. 【echarts】24、highchart+vue2 - 3D饼图
  5. 【模拟集成电路】环路滤波器(LPF)设计
  6. python计算汽车的平均油耗_用python对汽车油耗进行数据分析(anaconda python3.6完全跑通)...
  7. WEB前端浏览器兼容性问题(PC端及移动端)
  8. 恶意软件“合体”考验员工安全意识
  9. 大数据分析(一)——虚拟机环境配置
  10. Myeclipse和idea对比