WJMT12138 2022-09-23 10:36 采纳率: 77.8%
浏览 16
已结题

vs读写excel表格

问题遇到的现象和发生背景

调用这个函数,传入一个excel表格路径和“YES”,会在 OleConn.Open();弹出 外部表不是预期格式,但是后台打开对应路径的表格又不会报错了这是为啥?

用代码块功能插入代码,请勿粘贴截图

```c#
internal static DataSet LoadDataFromExcel(string filePath, string HDRStatus)
        {
            string strConn = "Provider = Microsoft.ACE.OLEDB.12.0;" + "Data Source =" + filePath + ";" + "; Extended Properties = \"Excel 12.0; HDR = YES; IMEX = 1 \"";
            OleDbConnection OleConn = new OleDbConnection(strConn);
            try
            {
                OleConn.Open();
                DataSet OleDsExcle = new DataSet();
                return OleDsExcle;
            }
            catch (Exception err)
            {
                MessageBox.Show(" NOT READ Excel!:" + err.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return null;
            }
            finally
            {
                OleConn.Close();
                OleConn.Dispose();
            }
        }

###### 运行结果及报错内容 
会在 OleConn.Open();弹出 外部表不是预期格式
###### 我的解答思路和尝试过的方法 

###### 我想要达到的结果
正常读写excel文件


```c#




  • 写回答

1条回答 默认 最新

  • 於黾 2022-09-23 10:43
    关注

    什么叫“后台打开对应路径的表格”,你拿什么打开的,office吗
    office打开excel当然不会报错了
    而你调用office的com组件来打开文件,就跟dll版本、引用的函数是否正确有关系了
    它有两个函数,一个用来打开xls文件,一个用来打开xlsx文件,你必须使用正确的函数来打开对应的格式
    另,如果本来是个.csv文件,被人把扩展名改成xls了,office也能正确打开,可是你调用代码那肯定出错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 matlab支持向量机使用错误
  • ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
  • ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
  • ¥15 晶体塑性有限元——Damask求解
  • ¥15 写出这个有没有人能写一下今天中午就要
  • ¥30 设计一个图形用户界面来控制你机械臂的运动
  • ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题