Kako učitati preglednik u C ++
Aspose.Cells FOSS for C++ allows you to load and read existing XLSX spreadsheets without requiring Microsoft Excel. This guide walks through loading a workbook, accessing worksheets, and reading cell values using the Workbook, Worksheet, i Cell -Uci su.
Korak po korak vodič
Korak 1: Pripremite se za izgradnju
Dodajte Aspose.Cells FOSS za C++ u svoj CMake projekt:
cmake_minimum_required(VERSION 3.15)
project(LoadSpreadsheet CXX)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(LoadSpreadsheet main.cpp)
target_link_libraries(LoadSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)Korak 2: Uključite obavezne nadgovore
#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/WorksheetCollection.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/Cell.h"
using namespace Aspose::Cells_FOSS;Korak 3: Uplatiti radnu svesku
Predajte put datoteke na Workbook Konstruktor za učitavanje postojeće XLSX datoteke:
int main() {
Workbook workbook("input.xlsx");
// workbook is now loaded and ready to use
return 0;
}Korak 4: Pristup radnom listu
Upotreba: Workbook::GetWorksheets() za preuzimanje zbirke radnih lista, a zatim pristup po indeksu:
Worksheet& sheet = workbook.GetWorksheets()[0];
std::string name = sheet.GetName();Korak 5: Pročitajte vrijednosti stanica
Pristup ćelijama po nizovima adresa i čitanje njihovih vrijednosti:
std::string text = sheet.GetCells()["A1"].GetStringValue();
double number = sheet.GetCells()["B2"].GetValue().AsDouble();
bool flag = sheet.GetCells()["C3"].GetValue().AsBool();Korak 6: Sačuvajte sve promjene
Nakon izmjena, vraćajte se u datoteku:
workbook.Save("output.xlsx");
workbook.Dispose();Česta pitanja i rješenja
Ne pronađen fajl: greška pri učitavanju Provjerite da je put datoteke ispravan i da fajl postoji. Ako radni direktorij nije siguran, koristite apsolutnu stazu.
Prazan niz za numeričku ćeliju Upotreba: GetValue().AsDouble() umjesto: GetStringValue() — GetStringValue() vraća prazan niz za stanice koje sadrže brojeve umjesto teksta.
Radni svitak je učitavan, ali ćelije su prazne. Provjerite da XLSX datoteka nije zaštitljena lozinkom. Aspose.Cells FOSS za C++ ne podržava šifrirane datotekama.
Formula u ćeliji vraća neočekivanu vrijednost Formula ćelije pohranjuju niz formula, a ne izračunatu vrijednost. Excel je procjenjuje formule kada se datoteka otvori. Koristite GetFormula() da se preuzme tekst formule.
Sjećanje koje nije oslobođeno nakon obrade Zovi me. workbook.Dispose() Nakon što su sve operacije završene, oslobađanje neureditenih resursa.
Česta pitanja
Mogu li učitati više radnih lista iz jedne datoteke?
Da, koristi. Workbook::GetWorksheets() Da pristupite svim listovima i iterirati po indeksu. sheet.GetName() za identifikaciju svakog lista po imenu.
Mogu li učitati XLSX datoteke s više listova i čitati iz određenog?
Da, pristupni listovi po indeksu na osnovi nula: workbook.GetWorksheets()[1] vraća drugi list.
Da li učitavanje datoteke pokreće formula prebrojavanja?
Ne. Biblioteka učitava vrijednosti stanica i nizove formula kao što su pohranjene u XLSX datoteku. Prepočetka formule se odvija u Excel-u ili kompatibilnom čitatelju kada je datotek otvorena.
Što se događa ako put datoteke sadrži Unicode znakove?
Prolaziti put kao std::string UTF-8 putevi su podržani na Linuxu i MacOS-u. Na Windows, osigurati da se kodiranje puta poklapa s lokalnim sustavom.
Je li sigurno učitati istu datoteku više puta istovremeno?
Biblioteka nije sigurna za istovremeni pristup istoj knjižnici. Workbook Primjer: Odvojeni teret Workbook Uputina za svaki podlozište.