public override void createData(BDOCExcelLine excelLine) { //Pour les donnees if (excelLine.dataTypeBDOC != "Entité") { FinalTXTData += "*" + "\r\n"; FinalTXTData += excelLine.dataName + "\r\n"; FinalTXTData += excelLine.dataDescription + "\r\n"; FinalTXTData += excelLine.dataLong + "\r\n"; switch (excelLine.dataType) { case "STRING": FinalTXTData += "0"; break; case "CHAR": FinalTXTData += "1"; break; case "INTEGER": FinalTXTData += "2"; break; case "REAL": FinalTXTData += "3"; break; } FinalTXTData += "\r\n"; } }
public override void createEntity(BDOCExcelLine excelLine) { //pour les entities if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataName != "FLUX" && excelLine.dataLevel != "0") { if (this.lastObjectInserted == "ENTITY") FinalTXTEntity = FinalTXTEntity.Substring(0, FinalTXTEntity.LastIndexOf("*")); FinalTXTEntity += "*" + "\r\n"; FinalTXTEntity += excelLine.dataName + "\r\n"; FinalTXTEntity += excelLine.dataDescription + "\r\n"; FinalTXTEntity += "0" + "\r\n"; //functional entity FinalTXTEntity += ((excelLine.dataIterative == "Non") ? "0" : "1") + "\r\n"; FinalTXTEntity += "0" + "\r\n"; //gestion d'habilitation this.lastObjectInserted = "ENTITY"; if (excelLine.dataName.IndexOf("LIST_") == 0) { if (excelLine.dataName.Length > 18) FinalTXTEntity += "OCCURRENCES_" + excelLine.dataName.Substring(0, 18) + "\r\n"; else FinalTXTEntity += "OCCURRENCES_" + excelLine.dataName + "\r\n"; } } if (excelLine.dataTypeBDOC != "Entité") { FinalTXTEntity += excelLine.dataName + "\r\n"; this.lastObjectInserted = "DATA"; } //--------------------------------------- }
public override void createEntity(BDOCExcelLine excelLine) { //pour les entities if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataName != "FLUX" && excelLine.dataLevel != "0") { if (this.lastObjectInserted == "ENTITY") childNodeEntities.RemoveChild(entityNode); entityNode = this.xmlDoc.CreateElement("entity"); entityNode.SetAttribute("name", excelLine.dataName); entityNode.SetAttribute("iterative", (excelLine.dataIterative == "Non") ? "false" : "true"); childNodeEntities.AppendChild(entityNode); //description de l entité XmlElement streamNodeDesc = xmlDoc.CreateElement("description"); XmlText textNodeDesc = xmlDoc.CreateTextNode("description"); textNodeDesc.Value = excelLine.dataDescription; streamNodeDesc.AppendChild(textNodeDesc); entityNode.AppendChild(streamNodeDesc); this.lastObjectInserted = "ENTITY"; if (excelLine.dataName.IndexOf("LIST_") == 0) { XmlElement dataEntityNode = xmlDoc.CreateElement("entityData"); XmlElement childNode2 = xmlDoc.CreateElement("description"); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataName); if (excelLine.dataName.Length > 18) textNode.Value = "OCCURRENCES_" + excelLine.dataName.Substring(0, 18); else textNode.Value = "OCCURRENCES_" + excelLine.dataName; dataEntityNode.AppendChild(textNode); entityNode.AppendChild(dataEntityNode); } } if (excelLine.dataTypeBDOC != "Entité") { XmlElement dataEntityNode = xmlDoc.CreateElement("entityData"); XmlElement childNode2 = xmlDoc.CreateElement("description"); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); textNode.Value = excelLine.dataName; dataEntityNode.AppendChild(textNode); entityNode.AppendChild(dataEntityNode); this.lastObjectInserted = "DATA"; } //--------------------------------------- }
public override void createData(BDOCExcelLine excelLine) { //Pour les donnees if (excelLine.dataTypeBDOC != "Entité") { XmlElement childNode = xmlDoc.CreateElement("data"); childNode.SetAttribute("name", excelLine.dataName); childNode.SetAttribute("type", excelLine.dataType); childNode.SetAttribute("length", excelLine.dataLong); XmlElement childNode2 = xmlDoc.CreateElement("description"); XmlText textNode = xmlDoc.CreateTextNode("description"); textNode.Value = excelLine.dataDescription; childNode2.AppendChild(textNode); childNode.AppendChild(childNode2); childNodeData.AppendChild(childNode); } }
public XCLTrans(string excelFilePath) { this.myBDOCExcelLine = new BDOCExcelLine(); this.xmlDoc = new XmlDocument(); XmlDeclaration dec = this.xmlDoc.CreateXmlDeclaration("1.0", "ISO-8859-1", null); this.xmlDoc.AppendChild(dec); XmlElement rootNode = xmlDoc.CreateElement("import"); rootNode.SetAttribute("xmlns", "http://www.bdoc.com"); rootNode.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); this.xmlDoc.AppendChild(rootNode); XmlNode root = xmlDoc.DocumentElement; XmlElement childNodestreams = xmlDoc.CreateElement("streams"); root.AppendChild(childNodestreams); this.childNodestream = xmlDoc.CreateElement("stream"); childNodestreams.AppendChild(childNodestream); childNodestream.SetAttribute("type", "XPATH"); this.childNodeEntities = xmlDoc.CreateElement("entities"); root.AppendChild(childNodeEntities); this.childNodeData = xmlDoc.CreateElement("datas"); root.AppendChild(childNodeData); this.appEXCEL = new Microsoft.Office.Interop.Excel.ApplicationClass(); // create the workbook object by opening the excel file. workBook = appEXCEL.Workbooks.Open(excelFilePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); // Get The Active Worksheet Using Sheet Name Or Active Sheet workSheet = (Worksheet)workBook.ActiveSheet; childNodestream.SetAttribute("name", workSheet.Name); //************ TXT init FinalTXTData = ""; FinalTXTEntity = ""; FinalTXTStream = ""; // throw new System.NotImplementedException(); }
public override void createStream(BDOCExcelLine excelLine) { //STREAMS if (excelLine.dataLevel == "0") { XmlElement rootNode = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); this.xmlDoc.AppendChild(rootNode); rootNode.SetAttribute("name", this.workSheetName); } //first entity who defines the document separator if (excelLine.dataLevel == "1") { XmlNode root = xmlDoc.DocumentElement; childNodestream = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); root.AppendChild(childNodestream); } // entity struct in excel file if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataLevel != "0" && excelLine.dataLevel != "1") { streamNode = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); childNodestream.AppendChild(streamNode); if (excelLine.dataIterative == "Oui") { streamNode2 = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); childNodestream.AppendChild(streamNode2); entityIterative = true; //childNodestream.AppendChild(streamNode); } else entityIterative = false; //pour les listes if (excelLine.dataName.IndexOf("LIST_") == 0) { XmlElement dataStreamNode = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); //dataStreamNode.SetAttribute("name", excelLine.dataName); //XmlElement childNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); //If the excel has an specific XPATH value if (excelLine.dataXMLFlux != "") textNode.Value = excelLine.dataXMLFlux; else textNode.Value = excelLine.dataDescription; dataStreamNode.AppendChild(textNode); streamNode.AppendChild(dataStreamNode); } } //Data struct in excel file if (excelLine.dataTypeBDOC != "Entité" ) { XmlElement dataStreamNode = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); if (excelLine.dataXMLFlux != "") textNode.Value = excelLine.dataXMLFlux; else textNode.Value = excelLine.dataDescription; dataStreamNode.AppendChild(textNode); if (streamNode != null) streamNode.AppendChild(dataStreamNode); else { throw new Exception(ConfigurationSettings.AppSettings["notEntity1Exception"] + excelLine.dataName + ConfigurationSettings.AppSettings["notEntity2Exception"]); } if (entityIterative == true) { XmlElement dataStreamNode2 = xmlDoc.CreateElement(!(excelLine.dataXpath.Equals("")) ? excelLine.dataXpath : excelLine.dataName); XmlText textNode2 = xmlDoc.CreateTextNode(excelLine.dataDescription); if (excelLine.dataXMLFlux != "") textNode2.Value = excelLine.dataXMLFlux; else textNode2.Value = excelLine.dataDescription; switch (excelLine.dataType){ case "INTEGER": textNode2.Value = textNode2.Value + "2"; break; case "STRING": textNode2.Value = textNode2.Value + " 2"; break; default: textNode2.Value = textNode2.Value + " 2"; break; } dataStreamNode2.AppendChild(textNode2); streamNode2.AppendChild(dataStreamNode2); } } //--------------------------------------- }
public override void createStream(BDOCExcelLine excelLine) { //pour les streamses //premiere entite qui definira le separateur de document if (excelLine.dataLevel == "1") { FinalTXTStream += "*" + "\r\n"; // 1 flux separator FinalTXTStream += excelLine.dataName + "\r\n"; // 2 flux name FinalTXTStream += excelLine.dataDescription + "\r\n"; // 3 flux descr FinalTXTStream += "0" + "\r\n"; // 4 Stream type , only 0 available FinalTXTStream += "0" + "\r\n"; // 5 Line type , only 0 available FinalTXTStream += "+0 +3" + "\r\n"; // 6 TypeID ,see admin doc, page 69 FinalTXTStream += "\r\n"; // 7 stream file path, FinalTXTStream += "0" + "\r\n"; // 8 Reserved , only 0 available } if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataLevel != "0" && excelLine.dataLevel != "1") { FinalTXTStream += "*E" + "\r\n"; // 9 entity separator FinalTXTStream += excelLine.dataName + "\r\n";// 10 entity name FinalTXTStream += excelLine.dataDescription + "\r\n";// 11 entity separator FinalTXTStream += "0" + "\r\n";// 12 entity type fonctionnel FinalTXTStream += (excelLine.dataIterative == "Non") ? "0" + "\r\n" : "1" + "\r\n"; // 13 entity type iterative FinalTXTStream += "0" + "\r\n";// 14 reserved FinalTXTStream += "001" + "\r\n"; // 15 Id, CORRECT IT! FinalTXTStream += "2" + "\r\n"; // 16 Debut document FinalTXTStream += "0" + "\r\n"; // 17 Reserved DOC1 FinalTXTStream += "3" + "\r\n"; // 18 Reserved DOC1 /* //pour les listes if (excelLine.dataName.IndexOf("LIST_") == 0) { XmlElement dataStreamNode = xmlDoc.CreateElement("dataNode"); dataStreamNode.SetAttribute("name", excelLine.dataName); XmlElement childNode2 = xmlDoc.CreateElement("xpath"); textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); if (excelLine.dataName.Length > 18) textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName.Substring(0, 18); else textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName; childNode2.AppendChild(textNode); dataStreamNode.AppendChild(childNode2); streamNode.AppendChild(dataStreamNode); } * */ } if (excelLine.dataTypeBDOC != "Entité") { FinalTXTStream += "*D" + "\r\n"; // data separator FinalTXTStream += excelLine.dataName + "\r\n"; // Data name FinalTXTStream += excelLine.dataDescription + "\r\n"; // 21 data description FinalTXTStream += excelLine.dataLong + "\r\n"; // 22 long data switch (excelLine.dataType) { case "STRING": FinalTXTStream += "0" + "\r\n"; break; case "CHAR": FinalTXTStream += "1" + "\r\n"; break; case "INTEGER": FinalTXTStream += "2" + "\r\n"; break; case "REAL": FinalTXTStream += "3" + "\r\n"; break; } // 23 type donnée FinalTXTStream += "+1 >#<" + "\r\n"; // 24 delimiteur FinalTXTStream += "0" + "\r\n"; // 25 DOC1 Filier FinalTXTStream += "0" + "\r\n"; //26 reservée } //--------------------------------------- }
public override void createStream(BDOCExcelLine excelLine) { //STREAMS //first entity who defines the document separator if (excelLine.dataLevel == "1") { XmlElement streamStartNode = xmlDoc.CreateElement("separator"); streamStartNode.SetAttribute("useForChildren", "true"); streamStartNode.SetAttribute("type", "START"); XmlElement streamStartNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode("xpath"); //If the excel has an specific XPATH value if (excelLine.dataXpath != "") textNode.Value = "descendant-or-self::" + excelLine.dataXpath; else textNode.Value = "descendant-or-self::" + excelLine.dataName; streamStartNode2.AppendChild(textNode); streamStartNode.AppendChild(streamStartNode2); childNodestream.AppendChild(streamStartNode); } // entity struct in excel file if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataLevel != "0" && excelLine.dataLevel != "1") { streamNode = xmlDoc.CreateElement("entityNode"); streamNode.SetAttribute("name", excelLine.dataName); streamNode.SetAttribute("iterative", (excelLine.dataIterative == "Non") ? "false" : "true"); XmlElement streamNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode("xpath"); //If the excel has an specific XPATH value if (excelLine.dataXpath != "") textNode.Value = "descendant-or-self::" + excelLine.dataXpath; else textNode.Value = "descendant-or-self::" + excelLine.dataName; streamNode2.AppendChild(textNode); streamNode.AppendChild(streamNode2); childNodestream.AppendChild(streamNode); //pour les listes if (excelLine.dataName.IndexOf("LIST_") == 0) { XmlElement dataStreamNode = xmlDoc.CreateElement("dataNode"); dataStreamNode.SetAttribute("name", excelLine.dataName); XmlElement childNode2 = xmlDoc.CreateElement("xpath"); textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); //If the excel has an specific XPATH value if (excelLine.dataXpath != "") textNode.Value = "descendant-or-self::" + excelLine.dataXpath; else { if (excelLine.dataName.Length > 18) textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName.Substring(0, 18); else textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName; } childNode2.AppendChild(textNode); dataStreamNode.AppendChild(childNode2); streamNode.AppendChild(dataStreamNode); } } //Data struct in excel file if (excelLine.dataTypeBDOC != "Entité") { XmlElement dataStreamNode = xmlDoc.CreateElement("dataNode"); dataStreamNode.SetAttribute("name", excelLine.dataName); XmlElement childNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); if (excelLine.dataXpath != "") textNode.Value = "descendant-or-self::" + excelLine.dataXpath; else textNode.Value = "descendant-or-self::" + excelLine.dataName; childNode2.AppendChild(textNode); dataStreamNode.AppendChild(childNode2); if (streamNode != null) streamNode.AppendChild(dataStreamNode); else { throw new Exception(ConfigurationSettings.AppSettings["notEntity1Exception"] + excelLine.dataName + ConfigurationSettings.AppSettings["notEntity2Exception"]); } } //--------------------------------------- }
public void fillBDOCData(BDOCExcelLine excelLine, Object rowIndex) { // This row,column index should be changed as per your need. // that is which cell in the excel you are interesting to read. int colIndex1 = 1; int colIndex2 = 2; int colIndex3 = 3; int colIndex4 = 4; int colIndex5 = 5; int colIndex6 = 6; int colIndex7 = 7; int colIndex8 = 8; int colIndex9 = 9; Object dataLevel = ((Range)excelRange[rowIndex, colIndex1]).Value2; Object dataTypeBDOC = ((Range)excelRange[rowIndex, colIndex2]).Value2; Object dataName = ((Range)excelRange[rowIndex, colIndex4]).Value2; Object dataDescription = ((Range)excelRange[rowIndex, colIndex5]).Value2; Object dataXpath = ((Range)excelRange[rowIndex, colIndex8]).Value2; Object dataXMLFlux = ((Range)excelRange[rowIndex, colIndex9]).Value2; if (dataLevel == null) { return; } //read fields try { excelLine.reset(); excelLine.dataLevel = (dataLevel != null) ? dataLevel.ToString().Trim() : ""; excelLine.dataTypeBDOC = ( dataTypeBDOC != null) ? dataTypeBDOC.ToString().Trim() : ""; excelLine.dataName = (dataName != null) ? dataName.ToString().Trim() : ""; excelLine.dataDescription = (dataDescription != null) ? dataDescription.ToString() : ""; excelLine.dataXpath = (dataXpath != null) ? dataXpath.ToString() : ""; excelLine.dataXMLFlux = (dataXMLFlux != null) ? dataXMLFlux.ToString() : ""; if (excelLine.dataTypeBDOC == "Entité") { Object dataIterative = ((Range)excelRange[rowIndex, colIndex3]).Value2; excelLine.dataIterative = (dataIterative != null) ? dataIterative.ToString() : ""; } else { Object dataType = ((Range)excelRange[rowIndex, colIndex6]).Value2; Object dataLong = ((Range)excelRange[rowIndex, colIndex7]).Value2; excelLine.dataType = (dataType != null) ? dataType.ToString() : ""; excelLine.dataLong = (dataLong!= null) ? dataLong.ToString() : ""; excelLine.dataType = (excelLine.dataType == "INT") ? "INTEGER" : excelLine.dataType.ToUpper(); } } catch (Exception ex) { throw new Exception("The values are not well formatted for the " + excelLine.dataName + " Field. " + ex.Message); } //HERE ADD CheckBox FUNCTIONS for THE VALUES }
public virtual void createStream(BDOCExcelLine excelLine) { }
public virtual void createEntity(BDOCExcelLine excelLine) { }
public virtual void createData(BDOCExcelLine excelLine) { }
private void createStreamTXT(BDOCExcelLine excelLine) { //pour les streamses //premiere entite qui definira le separateur de document if (excelLine.dataLevel == "1") { FinalTXTStream += "*" + "\r\n"; FinalTXTStream += excelLine.dataName + "\r\n"; FinalTXTStream += excelLine.dataDescription + "\r\n"; FinalTXTStream += "0" + "\r\n"; //Stream type , only 0 available FinalTXTStream += "0" + "\r\n"; //Line type , only 0 available FinalTXTStream += "+0 +3" + "\r\n"; //TypeID ,see admin doc, page 69 FinalTXTStream += "flotFILE.XML" + "\r\n"; //stream file path, FinalTXTStream += "0" + "\r\n"; //Reserved , only 0 available } if (excelLine.dataTypeBDOC == "Entité" && excelLine.dataLevel != "0") { FinalTXTStream += "*E" + "\r\n"; FinalTXTStream += excelLine.dataName + "\r\n"; FinalTXTStream += excelLine.dataDescription + "\r\n"; FinalTXTStream += "0" + "\r\n"; //Stream type , only 0 available FinalTXTStream += (excelLine.dataIterative == "Non") ? "0" : "1"; FinalTXTStream += "AAA" + "\r\n"; //Id, CORRECT IT! FinalTXTStream += "+0 +3" + "\r\n"; //TypeID ,see admin doc, page 69 FinalTXTStream += "flotFILE.XML" + "\r\n"; //stream file path, FinalTXTStream += "0" + "\r\n"; //Reserved , only 0 available streamNode.SetAttribute("iterative", (excelLine.dataIterative == "Non") ? "false" : "true"); XmlElement streamNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode("xpath"); textNode.Value = "descendant-or-self::" + excelLine.dataName; streamNode2.AppendChild(textNode); streamNode.AppendChild(streamNode2); childNodestream.AppendChild(streamNode); //pour les listes if (excelLine.dataName.IndexOf("LIST_") == 0) { XmlElement dataStreamNode = xmlDoc.CreateElement("dataNode"); dataStreamNode.SetAttribute("name", excelLine.dataName); XmlElement childNode2 = xmlDoc.CreateElement("xpath"); textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); if (excelLine.dataName.Length > 18) textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName.Substring(0, 18); else textNode.Value = "descendant-or-self::OCCURRENCES_" + excelLine.dataName; childNode2.AppendChild(textNode); dataStreamNode.AppendChild(childNode2); streamNode.AppendChild(dataStreamNode); } } if (excelLine.dataTypeBDOC != "Entité") { XmlElement dataStreamNode = xmlDoc.CreateElement("dataNode"); dataStreamNode.SetAttribute("name", excelLine.dataName); XmlElement childNode2 = xmlDoc.CreateElement("xpath"); XmlText textNode = xmlDoc.CreateTextNode(excelLine.dataDescription); textNode.Value = "descendant-or-self::" + excelLine.dataName; childNode2.AppendChild(textNode); dataStreamNode.AppendChild(childNode2); streamNode.AppendChild(dataStreamNode); } //--------------------------------------- }