| 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>六位码</name><type>String</type></column><column><name>Curve</name><type>String</type></column><column><name>车型</name><type>String</type></column><column><name>产地</name><type>String</type></column><column><name>发动机</name><type>String</type></column><column><name>功率</name><type>String</type></column><column><name>发动机零件号</name><type>String</type></column><column><name>发动机四位码</name><type>String</type></column><column><name>备注</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(); | 
|   *] | 
| } |