Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Download ( 
 | 
  MacroPlan macroPlan 
 | 
) as BinaryValue 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    xmlDOMI := XMLDOMImplementation::Create(); 
 | 
    xmlDOM  := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name><column><name>Code</name><type>String</type></column><column><name>Curve</name><type>String</type></column><column><name>AutoType</name><type>String</type></column><column><name>ProducingArea</name><type>String</type></column><column><name>Engine</name><type>String</type></column><column><name>Power</name><type>String</type></column><column><name>4-code</name><type>String</type></column><column><name>PartNumber</name><type>String</type></column><column><name>Notes</name><type>String</type></column></table>' ); 
 | 
     
 | 
    tableElement              := xmlDOM.GetElementByTagName( "table", 0 ); 
 | 
     
 | 
    codeColumn                := tableElement.GetElementByTagName( "column", 0 ); // Code 
 | 
    curveColumn               := tableElement.GetElementByTagName( "column", 1 ); // Curve 
 | 
    vehicleModelColumn        := tableElement.GetElementByTagName( "column", 2 ); // 车型 
 | 
    productingAreaColumn      := tableElement.GetElementByTagName( "column", 3 ); // 产地 
 | 
    engineColumn              := tableElement.GetElementByTagName( "column", 4 ); // 发动机 
 | 
    powerColumn               := tableElement.GetElementByTagName( "column", 5 ); // 功率 
 | 
    enginePartNumberColumn    := tableElement.GetElementByTagName( "column", 6 ); // 发动机零件号 
 | 
    engineFourDigitCodeColumn := tableElement.GetElementByTagName( "column", 7 ); // 发动机四位码 
 | 
    remarksColumn             := tableElement.GetElementByTagName( "column", 8 ); // 备注 
 | 
     
 | 
    traverse ( macroPlan, SixDigitCode, sdc ) { 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, codeColumn, sdc.Code() );                               // Code 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, curveColumn, sdc.Curve() );                             // Curve 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, vehicleModelColumn, sdc.VehicleModel() );               // 车型 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, productingAreaColumn, sdc.ProducingArea() );            // 产地 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, engineColumn, sdc.Engine() );                           // 发动机 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, powerColumn, sdc.Power() );                             // 功率 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, enginePartNumberColumn, sdc.EnginePartNumber() );       // 发动机零件号 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, engineFourDigitCodeColumn, sdc.EngineFourDigitCode() ); // 发动机四位码 
 | 
      PR_PP_Budget::ExportCreateCell( xmlDOM, remarksColumn, sdc.Remarks() );                         // 发动机零件号 
 | 
    } 
 | 
     
 | 
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) 
 | 
     
 | 
    //info( xmlString ); 
 | 
     
 | 
    tableGroupHandle := TableGroupHandle::Create( "Sheet1" ); 
 | 
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); 
 | 
    tableGroupHandle.Add( tableHandle ); 
 | 
     
 | 
    binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); 
 | 
     
 | 
    return binaryData.AsBinaryValue(); 
 | 
  *] 
 | 
} 
 |