Gérer les données des fichiers Excel

Comment ajouter des données aux cellules

Aspose.Cells fournit une classe, Workbook, qui représente un fichier Microsoft Excel. La classe Workbook contient une collection Worksheets qui permet d’accéder à chaque feuille de calcul dans le fichier Excel. Une feuille de calcul est représentée par la classe Worksheet. La classe Worksheet fournit une collection Cells. Chaque élément de la collection Cells représente un objet de la classe Cell.

Aspose.Cells permet aux développeurs d’ajouter des données aux cellules des feuilles de calcul en appelant la méthode PutValue de la classe Cell. Aspose.Cells fournit des versions surchargées de la méthode PutValue qui permettent aux développeurs d’ajouter différents types de données aux cellules. En utilisant ces versions surchargées de la méthode PutValue, il est possible d’ajouter des valeurs booléennes, des chaînes, des doubles, des entiers ou des valeurs de date/heure, etc. à la cellule.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Adding a string value to the cell
worksheet.Cells["A1"].PutValue("Hello World");
// Adding a double value to the cell
worksheet.Cells["A2"].PutValue(20.5);
// Adding an integer value to the cell
worksheet.Cells["A3"].PutValue(15);
// Adding a boolean value to the cell
worksheet.Cells["A4"].PutValue(true);
// Adding a date/time value to the cell
worksheet.Cells["A5"].PutValue(DateTime.Now);
// Setting the display format of the date
Style style = worksheet.Cells["A5"].GetStyle();
style.Number = 15;
worksheet.Cells["A5"].SetStyle(style);
// Saving the Excel file
workbook.Save(dataDir + "output.out.xls");

Comment améliorer l’efficacité

Si vous utilisez la méthode PutValue pour mettre une grande quantité de données dans une feuille de calcul, vous devriez ajouter d’abord les valeurs aux cellules par lignes puis par colonnes. Cette approche améliore grandement l’efficacité de vos applications.

Comment récupérer des données à partir de cellules

Aspose.Cells fournit une classe Workbook qui représente un fichier Microsoft Excel. La classe Workbook contient une Worksheets collection qui permet d’accéder aux feuilles de calcul dans le fichier. Une feuille de calcul est représentée par la classe Worksheet. La classe Worksheet fournit une Cells collection. Chaque élément de la Cells collection représente un objet de la classe Cell.

La classe Cell fournit plusieurs propriétés qui permettent aux développeurs de récupérer des valeurs à partir des cellules selon leurs types de données. Ces propriétés incluent :

  • StringValue: renvoie la valeur de chaîne de la cellule.
  • DoubleValue: renvoie la valeur double de la cellule.
  • BoolValue: renvoie la valeur booléenne de la cellule.
  • DateTimeValue: renvoie la valeur date/heure de la cellule.
  • FloatValue: renvoie la valeur flottante de la cellule.
  • IntValue: renvoie la valeur entière de la cellule.

Lorsqu’un champ n’est pas rempli, les cellules avec DoubleValue ou FloatValue lèvent une exception.

Le type de données contenu dans une cellule peut également être vérifié en utilisant la propriété Type de la classe Cell. En fait, la propriété Type de la classe Cell est basée sur l’énumération CellValueType dont les valeurs prédéfinies sont répertoriées ci-dessous :

Types de valeur de cellule Description
IsBool Spécifie que la valeur de la cellule est un booléen.
IsDateTime Spécifie que la valeur de la cellule est une date/heure.
IsNull Représente une cellule vide.
IsNumeric Spécifie que la valeur de la cellule est numérique.
IsString Spécifie que la valeur de la cellule est une chaîne de caractères.
IsUnknown Spécifie que la valeur de la cellule est inconnue.

Vous pouvez également utiliser les types de valeur de cellule prédéfinis ci-dessus pour comparer avec le Type de données présent dans chaque cellule.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Opening an existing workbook
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing first worksheet
Worksheet worksheet = workbook.Worksheets[0];
foreach (Cell cell1 in worksheet.Cells)
{
// Variables to store values of different data types
string stringValue;
double doubleValue;
bool boolValue;
DateTime dateTimeValue;
// Passing the type of the data contained in the cell for evaluation
switch (cell1.Type)
{
// Evaluating the data type of the cell data for string value
case CellValueType.IsString:
stringValue = cell1.StringValue;
Console.WriteLine("String Value: " + stringValue);
break;
// Evaluating the data type of the cell data for double value
case CellValueType.IsNumeric:
doubleValue = cell1.DoubleValue;
Console.WriteLine("Double Value: " + doubleValue);
break;
// Evaluating the data type of the cell data for boolean value
case CellValueType.IsBool:
boolValue = cell1.BoolValue;
Console.WriteLine("Bool Value: " + boolValue);
break;
// Evaluating the data type of the cell data for date/time value
case CellValueType.IsDateTime:
dateTimeValue = cell1.DateTimeValue;
Console.WriteLine("DateTime Value: " + dateTimeValue);
break;
// Evaluating the unknown data type of the cell data
case CellValueType.IsUnknown:
stringValue = cell1.StringValue;
Console.WriteLine("Unknown Value: " + stringValue);
break;
// Terminating the type checking of type of the cell data is null
case CellValueType.IsNull:
break;
}
}

Sujets avancés