¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | |
| | | // 第ä¸åï¼åç§°ï¼ |
| | | cerrs := selectsortedset( macroPlan, CC_EngineRackRow, tempCERR, true, tempCERR.Name() ); |
| | | firstColumn := xmlDOM.CreateElement( "column" ); |
| | | firstName := xmlDOM.CreateElement( "name" ); |
| | | firstType := xmlDOM.CreateElement( "type" ); |
| | | firstName.TextContent( "" ); |
| | | firstType.TextContent( "String" ); |
| | | firstColumn.AppendChild( firstName ); |
| | | firstColumn.AppendChild( firstType ); |
| | | traverse ( cerrs, Elements, cerr ) { |
| | | firstCell := xmlDOM.CreateElement( "cell" ); |
| | | firstCell.SetAttribute( "value", cerr.Name() ); |
| | | firstColumn.AppendChild( firstCell ); |
| | | |
| | | for ( i := 0; i < 9; i++ ) { |
| | | firstCell := xmlDOM.CreateElement( "cell" ); |
| | | firstCell.SetAttribute( "value", "" ); |
| | | firstColumn.AppendChild( firstCell ); |
| | | } |
| | | } |
| | | tableElement.AppendChild( firstColumn ); |
| | | |
| | | |
| | | // 第äºå |
| | | attrs := construct( Strings ); attrs.Add( "ææ¶ç©ºæ°é" ); attrs.Add( "ç©ºææ¶æ°é" ); attrs.Add( "å¤ç§åºå
¥åºè´¹ç¨" ); attrs.Add( "å¤ç§åºåºåºè´¹ç¨" ); attrs.Add( "å¤ç§åºè¿è¾è´¹ç¨" ); |
| | | attrs.Add( "å¤ç§åºä»å¨è´¹ç¨" ); attrs.Add( "æ¸
æ´è´¹ç¨" ); attrs.Add( "é¢è®¡æ»è´¹ç¨" ); attrs.Add( "ç³»æ°" ); attrs.Add( "æ»è´¹ç¨" ); |
| | | secondColumn := xmlDOM.CreateElement( "column" ); |
| | | secondName := xmlDOM.CreateElement( "name" ); |
| | | secondType := xmlDOM.CreateElement( "type" ); |
| | | secondName.TextContent( "" ); |
| | | secondType.TextContent( "String" ); |
| | | secondColumn.AppendChild( secondName ); |
| | | secondColumn.AppendChild( secondType ); |
| | | for ( i := 0; i < cerrs.Size(); i++ ) { |
| | | traverse ( attrs, Elements, attr ) { |
| | | secondCell := xmlDOM.CreateElement( "cell" ); |
| | | secondCell.SetAttribute( "value", attr ); |
| | | secondColumn.AppendChild( secondCell ); |
| | | } |
| | | } |
| | | tableElement.AppendChild( secondColumn ); |
| | | |
| | | // æ¶é´å |
| | | cercs := selectsortedset( macroPlan, CC_EngineRackColumn, tempCERC, true, tempCERC.StartDate() ); |
| | | traverse ( cercs, Elements, cerc ) { |
| | | cellColumn := xmlDOM.CreateElement( "column" ); |
| | | cellName := xmlDOM.CreateElement( "name" ); |
| | | cellType := xmlDOM.CreateElement( "type" ); |
| | | cellName.TextContent( cerc.StartDate().Format( "M2/D2/Y" ) ); |
| | | cellType.TextContent( "Number" ); |
| | | cellColumn.AppendChild( cellName ); |
| | | cellColumn.AppendChild( cellType ); |
| | | cells := selectsortedset( cerc, CC_EngineRackCell, tempCELL, true, tempCELL.CC_EngineRackRow().Name() ); |
| | | traverse ( cells, Elements, c ) { |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.TotalQuantityOfMaterialRacks() ); // ææ¶æ»æ°é |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.NumberOfEmptyShelves() ); // ç©ºææ¶æ°é |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.StorageFeesForRentedWarehouses() ); // å¤ç§åºå
¥åºè´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.OutboundExpensesForRentedWarehouses() ); // å¤ç§åºåºåºè´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.ExternalRentalWarehouseTransportationCosts() ); // å¤ç§åºè¿è¾è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.RentalWarehouseStorageFees() ); // å¤ç§åºä»å¨è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.CleaningCost() ); // æ¸
æ´è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.EstimatedTotalCost() ); // é¢è®¡æ»è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.Coefficient() ); // ç³»æ° |
| | | cellColumn.AppendChild( cell ); |
| | | |
| | | cell := xmlDOM.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", [String]c.TotalCost() ); // æ»è´¹ç¨ |
| | | cellColumn.AppendChild( cell ); |
| | | } |
| | | tableElement.AppendChild( cellColumn ); |
| | | } |
| | | |
| | | 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(); |
| | | *] |
| | | } |