Qt читает картинки из excel - PullRequest
       1

Qt читает картинки из excel

0 голосов
/ 26 февраля 2019

все.Теперь мне нужно использовать Qt для чтения файлов Excel, и в ячейках есть несколько картинок.Я написал эти коды следующим образом, чтобы завершить работу.

QAxObject *pExcel = new QAxObject("Excel.Application");    
if (pExcel == NULL || pExcel->isNull())
{
    return;
}
pExcel->dynamicCall("SetVisible(bool)", false);
QAxObject *pWorkbooks = pExcel->querySubObject("WorkBooks");
if (pWorkbooks == NULL || pWorkbooks->isNull())
{
    delete pExcel;
    pExcel = nullptr;
    return;
}
QAxObject *pWorkbook = pWorkbooks->querySubObject("Open(QString&)", qstrExcelPath);
if (pWorkbook == NULL || pWorkbook->isNull())
{
    delete pExcel;
    pExcel = nullptr;
    return;
}
QAxObject *pWorksheets = pWorkbook->querySubObject("WorkSheets");
if (pWorksheets == NULL || pWorksheets->isNull())
{
    delete pExcel;
    pExcel = nullptr;
    return;
}
QAxObject *pWorksheet = pWorksheets->querySubObject("Item(int)", 1);
if (pWorksheet == NULL || pWorksheet->isNull())
{
    delete pExcel;
    pExcel = nullptr;
    return;
}

QAxObject *pUsedRange = pWorksheet->querySubObject("UsedRange");
if (NULL == pUsedRange || pUsedRange->isNull())
{
    delete pExcel;
    pExcel = nullptr;
    return;
}

QVariant varExcelInfo = pUsedRange->dynamicCall("Value");

varExcelInfo может правильно читать строки, но не может читать картинки.Как я могу сделать, чтобы прочитать изображения из файлов Excel?Спасибо.

1 Ответ

0 голосов
/ 26 февраля 2019

Изображения хранятся в Shape объектах в свойстве Worksheet.Shapes .

Я не вижу способа непосредственного чтения файла изображения, но выможет быть в состоянии передать его через буфер обмена, используя метод Shape.CopyPicture , чтобы скопировать его в буфер обмена;затем используйте функцию Qt QClipboard :: image , чтобы скопировать изображение в QImage .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...