Construire une table à partir d'un DataTable
Souvent, votre application extrait des données d’une base de données et les stocke sous la forme d’un DataTable. Vous souhaiterez peut-être insérer facilement ces données dans votre document en tant que nouveau tableau et appliquer rapidement une mise en forme à l’ensemble du tableau.
En utilisant Aspose.Words, vous pouvez facilement récupérer des données à partir d’une base de données et les stocker sous forme de table:
- Créez un nouvel objet DocumentBuilder sur votre Document.
- Commencez une nouvelle table en utilisant DocumentBuilder.
- Si nous voulons insérer les noms de chacune des colonnes de notre DataTable en tant que ligne d’en-tête, parcourez chaque colonne de données et écrivez les noms des colonnes dans une ligne du tableau.
- Parcourez chaque DataRow dans le DataTable:
- Parcourez chaque objet dans le DataRow.
- Insérez l’objet dans le document en utilisant DocumentBuilder. La méthode utilisée dépend du type de l’objet inséré, par exemple DocumentBuilder.writeln() pour le texte et DocumentBuilder.insertImage() pour un tableau d’octets qui représente une image.
- À la fin du traitement de la ligne de données, terminez également la ligne créée par le DocumentBuilder en utilisant DocumentBuilder.endRow().
- Une fois que toutes les lignes du DataTable ont été traitées, terminez la table en appelant DocumentBuilder.endTable().
- Enfin, nous pouvons définir le style de tableau souhaité à l’aide de l’une des propriétés de tableau appropriées telles que Table.getStyleIdentifier() pour appliquer automatiquement la mise en forme à l’ensemble du tableau. Les données suivantes dans notre DataTable sont utilisées dans cet exemple:
L’exemple de code suivant montre comment exécuter l’algorithme ci-dessus dans Aspose.Words:
La méthode peut ensuite être facilement appelée en utilisant votre DocumentBuilder et vos données.
L’exemple de code suivant montre comment importer les données d’un DataTable
et les insérer dans une nouvelle table du document:
Le tableau présenté dans l’image ci-dessous est produit en exécutant le code ci-dessus.