1
resposta

Leitura de arquivos do Excel com C++

Boa Noite,

Eu estou tentando ler um arquivo do excel utilizando o C++ e manipular ele, mas eu não encontrei em nenhum lugar alguém explicando como que faz isso.

Seria utilizando o ifstream, igual é feito para o txt ?

Muito Obrigado

1 resposta

Olá, André!

Para ler um arquivo do Excel em C++, você pode utilizar bibliotecas externas, como a libxl ou a xlsxio. Essas bibliotecas fornecem funções específicas para manipulação de arquivos do Excel.

No caso da libxl, você pode utilizar a função open para abrir o arquivo do Excel e, em seguida, utilizar a função readStr para ler os dados de cada célula. Aqui está um exemplo de como você pode fazer isso:

#include <libxl.h>

int main() {
    libxl::Book* book = xlCreateBook();
    if (book->load("arquivo.xlsx")) {
        libxl::Sheet* sheet = book->getSheet(0);
        if (sheet) {
            int rowCount = sheet->lastRow();
            int colCount = sheet->lastCol();
            
            for (int row = 0; row < rowCount; row++) {
                for (int col = 0; col < colCount; col++) {
                    libxl::CellType cellType = sheet->cellType(row, col);
                    if (cellType == libxl::CELLTYPE_STRING) {
                        const char* cellValue = sheet->readStr(row, col);
                        // faça algo com o valor da célula
                    }
                }
            }
        }
    }
    
    book->release();
    return 0;
}

Já em relação à sua pergunta sobre o ifstream, essa classe é utilizada para a leitura de arquivos de texto, como .txt. Para ler um arquivo do Excel, você precisará utilizar bibliotecas específicas, como mencionei anteriormente.

Espero ter ajudado! Bons estudos!