2017-09-23 8 views
0

Je dois créer un logiciel personnalisé qui convertirait des fichiers Excel en un fichier Word formaté.Utilisation de fichiers Excel pour créer des fichiers Word formatés

À partir du fichier Excel ci-dessous;

. enter image description here

Pour ce fichier word avec le formatage indiqué.

Maintenant, je n'ai pas travaillé auparavant. Mais, j'ai quelques idées en utilisant Python avec des formats de fichier CSV mais je ne suis pas sûr. Que puis-je faire pour écrire un logiciel qui pourrait entièrement automatiser ce processus? Par exemple, prenez le fichier Excel en entrée et générez un fichier Word formaté.

enter image description here

Répondre

0

Vous pouvez utiliser le module csv qui vient avec Python. La fonction csv.reader() vous permettra de parcourir les lignes de votre fichier csv. De plus, les pandas, un autre module Python (que vous devez télécharger) est également une bonne option quand il s'agit de travailler avec des données. Cependant, je suis à peu près certain que ce ne sera pas automatique, et que vous aurez à le convertir en un fichier Word.

0

Vous pouvez utiliser des formules Excel telles que = Concatentate pour rassembler les phrases terminées dans un onglet distinct, nommé par exemple "Summary", dans une plage nommée telle que "StudentInfo". Puis fermez la feuille de calcul.

Dans Word, utilisez vos compétences pour obtenir le curseur à l'endroit correct, essayez ceci:

Sub CopyNamedRangeFromExcelWorkbook() 
    ' For this to work, must go to VB Editor and pick --> Tools > References > Miscorsoft Excel 15.0 Obj Lib 
    Dim xlApp As Excel.Application 
    Set xlApp = CreateObject("Excel.Application") 
    xlApp.Visible = False 

    Dim xlWorkbook As Excel.Workbook 
    Set xlWorkbook = _ 
     xlApp.Workbooks.Open("C:\Users\Desdemona\Desktop\TheSpreadsheet.xlsx") 
    xlWorkbook.Worksheets("Summary").Range("StudentInfo").Copy 
    Selection.Paste ' pastes the excel data as a Word table 
    xlWorkbook.Close 
    xlApp.Quit 
    ' now apply a format to the word table, or revert it to text, or whatever. 
End Sub 
0

Une autre possibilité est:

  1. D'abord, réorganiser les données en forme de tableau, par exemple Nom dans la colonne A, Sexe dans la colonne B, etc. Vous pouvez écrire une simple routine VBA pour créer un fichier tabulaire basé sur votre fichier brut.
  2. Utilisez la fonction de fusion et publipostage de Word pour écrire les paragraphes en remplissant les champs de données du fichier Excel.

Espérons que ça aide.