Comment télécharger un disque en C++

Comment télécharger un disque en 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,et Cell Les classes.

Guide étape par étapes

Étape 1 : Démarrer la construction

Ajouter Aspose.Cells FOSS pour C++ à votre projet CMake :

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)

Étape 2: Inclure les en-têtes requis

#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;

Étape 3 : Remplissez le livre de travail

Passez le chemin de fichier à la Workbook Constructeur pour charger un fichier XLSX existant:

int main() {
    Workbook workbook("input.xlsx");
    // workbook is now loaded and ready to use
    return 0;
}

Étape 4 : Accéder à un tableau de travail

Utiliser Workbook::GetWorksheets() pour obtenir la collection de feuilles d’œuvre, puis l’accès par index:

Worksheet& sheet = workbook.GetWorksheets()[0];
std::string name = sheet.GetName();

Étape 5 : Lire les valeurs cellulaires

Accès aux cellules par la ligne d’adresse et lecture de leurs valeurs :

std::string text = sheet.GetCells()["A1"].GetStringValue();
double number = sheet.GetCells()["B2"].GetValue().AsDouble();
bool flag = sheet.GetCells()["C3"].GetValue().AsBool();

Étape 6 : Sauver les changements

Après avoir effectué des modifications, sauvegarder à nouveau un fichier :

workbook.Save("output.xlsx");
workbook.Dispose();

Problèmes communs et fixations

Fiche n’a pas trouvé d’erreur sur le chargement Vérifiez que le chemin de fichier est correct et que ce fichie existe. Utilisez un chemin absolu si la directory d’exploitation n’est pas sûre.

La barre vide est de retour pour une cellule numérique Utiliser GetValue().AsDouble() Au lieu de GetStringValue()GetStringValue() Il retourne une ligne vide pour les cellules qui contiennent des nombres plutôt que du texte.

Le livre de travail se chargera mais les cellules apparaissent vides Assurez-vous que le fichier XNUMX n’est pas protégé par mot de passe. Aspose.Cells FOSS pour C++ ne prend pas en charge les fichiers chiffrés.

La cellule de formule retourne une valeur inattendue Les cellules de formule stockent la ligne de formulation, pas le valeur calculée.La formelle est évaluée par Excel lorsque le fichier est ouvert.Utilisez GetFormula() Pour obtenir le texte de la formule.

Mémoire non libérée après traitement Appel à workbook.Dispose() Après avoir terminé toutes les opérations pour libérer des ressources non gérées.

Questions fréquemment posées

Puis-je télécharger plusieurs feuilles de travail d’un seul fichier ?

Oui, utilisez Workbook::GetWorksheets() pour accéder à toutes les feuilles et iteration par index. sheet.GetName() Identifier chaque feuille par nom.

Puis-je charger des fichiers XLSX avec plusieurs feuilles et lire d’une spécifique ?

Les fichiers d’accès par index basé sur zéro : workbook.GetWorksheets()[1] Retourner la deuxième feuille.

La charge d’un fichier déclenche-t-elle la récalculation de la formule ?

No. La bibliothèque charge les valeurs cellulaires et les lignes de formule comme stockées dans le fichier XLSX. Le recalculation de la formelle se produit dans Excel ou un lecteur compatible lorsque le dossier est ouvert.

Que se passe-t-il si le fichier contient des caractères Unicode ?

Passez la route comme une std::string avec la codage correcte pour votre plateforme. les pistes UTF-8 sont supportées sur Linux et macOS. Sur Windows, assurez-vous que le code de la voie correspond au local du système.

Est-il sûr de télécharger le même fichier plusieurs fois en simultané ?

La bibliothèque n’est pas en sécurité pour un accès concurrentiel à la même Workbook Partage : Load séparé Workbook Les cas par thread.

Voir aussi

 Français