在Excel 2010公式中,四类运算符的优先顺序是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Excel 2010公式中,四类运算符的优先顺序是啥?相关的知识,希望对你有一定的参考价值。

Excel 对运算符的优先级作了严格的规定 ,数学运算符从高到低分为 3 个级别,%和^、*和/、 +和-。比较运算符优先级相同。
四类运算符的优先顺序为引用运算符、数学运算符、文本运算符、比较运算符。
参考技术A 优先级由高到低依次为:

引用运算符、算术i运算符、文本运算符、比较运算符
参考技术B 先指数(乘方^)、后乘除(*、/)、再加减(+、-)、最后判断(>、<、=),括号可以改变顺序

防止在编写qt activex excel读/写代码时未安装excel时应用程序崩溃

【中文标题】防止在编写qt activex excel读/写代码时未安装excel时应用程序崩溃【英文标题】:Prevent application crash when excel is not installed while writing qt activex excel read/write codes 【发布时间】:2016-12-19 13:27:15 【问题描述】:

我正在使用 Qt activex (QAxObject) 来读取/写入 excel 文件。

QAxObject* excel = new QAxObject( "Excel.Application", 0 );
QAxObject* workbooks = excel->querySubObject( "Workbooks" );
QAxObject* workBook = workbooks->querySubObject("Open(const QString&)", path);
QAxObject* sheets = workBook->querySubObject( "Worksheets" );
QAxObject* sheet1 = sheets->querySubObject( "Item( int )", 1 );
QAxObject* sheet2 = sheets->querySubObject( "Item( int )", 2 );
//....

我们知道这种机制使用的是excel本身,在没有安装excel的电脑上是行不通的。

如果代码在此类计算机上运行(未安装 excel),则程序会崩溃。如何在代码中检测到PC上没有安装excel?

【问题讨论】:

【参考方案1】:

您检查工作簿是否为 NULL 指针。根据经验,您可能需要在使用之前检查 excel 是否为空指针。

QAxObject* excel = new QAxObject( "Excel.Application", 0 );

if ( excel )

     QAxObject* workbooks = excel->querySubObject( "Workbooks" );

     if ( workbooks )
     
           QAxObject* workBook = workbooks->querySubObject("Open(const QString&)", path);
           QAxObject* sheets = workBook->querySubObject( "Worksheets" );
           QAxObject* sheet1 = sheets->querySubObject( "Item( int )", 1 );
           QAxObject* sheet2 = sheets->querySubObject( "Item( int )", 2 );

           ...

【讨论】:

NULL 是 C 的东西。在 C++ 中,如果必须保持与 C++11 之前的编译器的兼容性,请使用 nullptr0。不过,在大多数项目中,if (ptr) 测试也是一个习惯用法。您可能还希望不在每个测试上启动一个新块,而是在测试失败时从函数返回。

以上是关于在Excel 2010公式中,四类运算符的优先顺序是啥?的主要内容,如果未能解决你的问题,请参考以下文章

excel中运算符的优先级别顺序怎么样的啊??

在EXCEL提供的4类运算符中,优先级最高的是啥?

excel2013公式应用实例视频教程公式解读

C语言中30多个运算符的优先级顺序

POI+EL利用模板将图片导出到excel怎么写?

C语言运算的优先级别和结合方向表是啥的?