1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
// Ouverture d'Excel et traitement du fichier
Variant vXLWorkbooks, vXLWorkbook, vMSExcel;
AnsiString vFileName = nf; //nom du fichier
Variant vOrigin = 1; // = xlWindows format Windows (par défaut)
Variant vStartRow = 1; // on commence à la 1ère ligne (par défaut)
Variant vDataType = 1; // = xlDelimited format délimité (par défaut)
Variant vTextQualifier = 1; // = xlTextQualifierDoubleQuote qualificateur de texte (par défaut)
Variant vConsecutiveDelimiter = false; // pas de délimitateur consécutif
Variant vTab = false; // pas délimitateur tab
Variant vSemicolon = true; // délimitateur ";"
Variant vComma = false; // pas délimitateur virgule
Variant vSpace = false; // pas délimitateur espace
Variant vOther = false; // pas délimitateur autre
Variant vOtherChar = ""; // délimitateur Other non actif
Variant vFieldInfo; // On veut {{1,2},{2,2},{3,4}}
vFieldInfo = VarArrayCreate(OPENARRAY(int, (0, 2, 0, 1)), varInteger);
vFieldInfo.PutElement(1,0,0); //on affecte 1 (Colonne Excel N°1) à la ligne 0 colonne 0 du tab
vFieldInfo.PutElement(2,0,1); //on affecte 2 (Format Texte = 2) à la ligne 0 colonne 1 du tab
vFieldInfo.PutElement(2,1,0); //on affecte 2 (Colonne Excel N°2) à la ligne 1 colonne 0 du tab
vFieldInfo.PutElement(2,1,1); //on affecte 2 (Format Texte = 2) à la ligne 1 colonne 1 du tab
vFieldInfo.PutElement(3,2,0); //on affecte 3 (Colonne Excel N°3) à la ligne 2 colonne 0 du tab
vFieldInfo.PutElement(4,2,1); //on affecte 4 (Format Date JMA = 4) à la ligne 2 colonne 1 du tab
vMSExcel = Variant::CreateObject("Excel.Application");
vMSExcel.OlePropertySet("Visible", true);
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook = vXLWorkbooks.OleFunction("OpenText", vFileName.c_str(), vOrigin, vStartRow, vDataType, vTextQualifier, vConsecutiveDelimiter, vTab, vSemicolon, vComma, vSpace, vOther, vOtherChar, vFieldInfo); |
Partager