zhouleibbt 2023-02-06 18:43 采纳率: 100%
浏览 34
已结题

mfc获取excel单元格的货币符号

MFC读取excel某个单元格的数据,单元格数据类型为货币,目前只能获取到单元格的货币数值,但是无法获取货币符号。如何才能获取当前单元格的货币符号。

  • 写回答

5条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-06 18:48
    关注

    用OLE Automation库中的Excel Application对象,通过该对象的Currency以及NumberFormat属性来获取货币单元格的货币符号。

    #include <iostream>
    #include <atlcom.h>
    #include <atlbase.h>
    #include <Excel.h>
    
    int main() {
        CComPtr<Excel::_Application> app;
        HRESULT hr = app.CoCreateInstance(L"Excel.Application");
        if (FAILED(hr)) {
            std::cout << "Failed to create Excel application." << std::endl;
            return -1;
        }
    
        CComPtr<Excel::Workbooks> workbooks;
        app->get_Workbooks(&workbooks);
    
        CComPtr<Excel::_Workbook> workbook;
        workbooks->Open(CComVariant(L"file.xlsx"), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), CComVariant(), &workbook);
    
        CComPtr<Excel::Sheets> sheets;
        workbook->get_Sheets(&sheets);
    
        CComPtr<Excel::_Worksheet> worksheet;
        sheets->get_Item(CComVariant(1), &worksheet);
    
        CComPtr<Excel::Range> range;
        worksheet->get_Range(CComBSTR("A1"), &range);
    
        CComVariant value;
        range->get_Value2(&value);
    
        CComVariant currencyFormat;
        range->get_NumberFormat(&currencyFormat);
    
        std::cout << "Currency Value: " << value.bstrVal << std::endl;
        std::cout << "Currency Format: " << currencyFormat.bstrVal << std::endl;
    
        workbook->Close();
        app->Quit();
    
        return 0;
    }
    
    
    

    用OLE Automation库来创建Excel应用程序,打开Excel文件,读取货币单元格的数值和格式。货币符号可以在输出中的Currency Format行中获取。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 已采纳回答 2月7日
  • 修改了问题 2月6日
  • 创建了问题 2月6日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效