public static void getImportDefs(ICswResources CswResources, CswNbtImportWcf.ImportDefsReturn ret, object parms)
        {
            CswNbtResources CswNbtResources = (CswNbtResources)CswResources;

            ret.Data = CswNbtImportTools.getDefinitionNames(CswNbtResources).ToString();
        }
示例#2
0
 public static CswNbtKioskModeRule Make(CswNbtResources CswNbtResources, CswEnumNbtKioskModeRuleName KioskModeRuleName)
 {
     return(Make(CswNbtResources, KioskModeRuleName._Name));
 }
示例#3
0
 public CswLayoutTable(CswNbtResources CswNbtResources, RadAjaxManager AjaxManager)
 {
     _CswNbtResources = CswNbtResources;
     _AjaxManager     = AjaxManager;
 }
        /// <summary>
        /// Create an ObjClass instance for given ObjectClass and Node
        /// </summary>
        public static CswNbtObjClass makeObjClass(CswNbtResources CswNbtResources, CswNbtMetaDataObjectClass ObjectClass, CswNbtNode Node = null)
        {
            CswNbtObjClass ReturnVal = null;

            switch (ObjectClass.ObjectClass)
            {
            case CswEnumNbtObjectClass.BalanceClass:
                ReturnVal = new CswNbtObjClassBalance(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BalanceConfigurationClass:
                ReturnVal = new CswNbtObjClassBalanceConfiguration(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BatchOpClass:
                ReturnVal = new CswNbtObjClassBatchOp(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.BiologicalClass:
                ReturnVal = new CswNbtObjClassBiological(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefCharacteristicLimitClass:
                ReturnVal = new CswNbtObjClassCertDefCharacteristicLimit(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefSpecClass:
                ReturnVal = new CswNbtObjClassCertDefSpec(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertificateDefinitionClass:
                ReturnVal = new CswNbtObjClassCertificateDefinition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefConditionClass:
                ReturnVal = new CswNbtObjClassCertDefCondition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CertDefSpecLevelClass:
                ReturnVal = new CswNbtObjClassCertDefSpecLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofADocumentClass:
                ReturnVal = new CswNbtObjClassCofADocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofAMethodClass:
                ReturnVal = new CswNbtObjClassCofAMethod(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CofAMethodTemplateClass:
                ReturnVal = new CswNbtObjClassCofAMethodTemplate(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerClass:
                ReturnVal = new CswNbtObjClassContainer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerDispenseTransactionClass:
                ReturnVal = new CswNbtObjClassContainerDispenseTransaction(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerGroupClass:
                ReturnVal = new CswNbtObjClassContainerGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ContainerLocationClass:
                ReturnVal = new CswNbtObjClassContainerLocation(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ControlZoneClass:
                ReturnVal = new CswNbtObjClassControlZone(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.CustomerClass:
                ReturnVal = new CswNbtObjClassCustomer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DepartmentClass:
                ReturnVal = new CswNbtObjClassDepartment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypeClass:
                ReturnVal = new CswNbtObjClassDesignNodeType(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypePropClass:
                ReturnVal = new CswNbtObjClassDesignNodeTypeProp(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignNodeTypeTabClass:
                ReturnVal = new CswNbtObjClassDesignNodeTypeTab(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DesignSequenceClass:
                ReturnVal = new CswNbtObjClassDesignSequence(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DocumentClass:
                ReturnVal = new CswNbtObjClassDocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.DSDPhraseClass:
                ReturnVal = new CswNbtObjClassDSDPhrase(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EnterprisePartClass:
                ReturnVal = new CswNbtObjClassEnterprisePart(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentAssemblyClass:
                ReturnVal = new CswNbtObjClassEquipmentAssembly(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentClass:
                ReturnVal = new CswNbtObjClassEquipment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.EquipmentTypeClass:
                ReturnVal = new CswNbtObjClassEquipmentType(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FeedbackClass:
                ReturnVal = new CswNbtObjClassFeedback(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FireClassExemptAmountClass:
                ReturnVal = new CswNbtObjClassFireClassExemptAmount(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.FireClassExemptAmountSetClass:
                ReturnVal = new CswNbtObjClassFireClassExemptAmountSet(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GenericClass:
                ReturnVal = new CswNbtObjClassGeneric(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSClass:
                ReturnVal = new CswNbtObjClassGHS(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSClassificationClass:
                ReturnVal = new CswNbtObjClassGHSClassification(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSPhraseClass:
                ReturnVal = new CswNbtObjClassGHSPhrase(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GHSSignalWordClass:
                ReturnVal = new CswNbtObjClassGHSSignalWord(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionDesignClass:
                ReturnVal = new CswNbtObjClassInspectionDesign(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionRouteClass:
                ReturnVal = new CswNbtObjClassInspectionRoute(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionTargetClass:
                ReturnVal = new CswNbtObjClassInspectionTarget(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InspectionTargetGroupClass:
                ReturnVal = new CswNbtObjClassInspectionTargetGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryGroupClass:
                ReturnVal = new CswNbtObjClassInventoryGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryGroupPermissionClass:
                ReturnVal = new CswNbtObjClassInventoryGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.InventoryLevelClass:
                ReturnVal = new CswNbtObjClassInventoryLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.JurisdictionClass:
                ReturnVal = new CswNbtObjClassJurisdiction(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.Level:
                ReturnVal = new CswNbtObjClassLevel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.LocationClass:
                ReturnVal = new CswNbtObjClassLocation(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.LQNoClass:
                ReturnVal = new CswNbtObjClassLQNo(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ManufacturerClass:
                ReturnVal = new CswNbtObjClassManufacturer(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ManufacturerEquivalentPartClass:
                ReturnVal = new CswNbtObjClassManufacturerEquivalentPart(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ChemicalClass:
                ReturnVal = new CswNbtObjClassChemical(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MaterialComponentClass:
                ReturnVal = new CswNbtObjClassMaterialComponent(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MaterialSynonymClass:
                ReturnVal = new CswNbtObjClassMaterialSynonym(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportClass:
                ReturnVal = new CswNbtObjClassMailReport(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportGroupClass:
                ReturnVal = new CswNbtObjClassMailReportGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MailReportGroupPermissionClass:
                ReturnVal = new CswNbtObjClassMailReportGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodClass:
                ReturnVal = new CswNbtObjClassMethod(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodCharacteristicClass:
                ReturnVal = new CswNbtObjClassMethodCharacteristic(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.MethodConditionClass:
                ReturnVal = new CswNbtObjClassMethodCondition(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.NonChemicalClass:
                ReturnVal = new CswNbtObjClassNonChemical(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrinterClass:
                ReturnVal = new CswNbtObjClassPrinter(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrintJobClass:
                ReturnVal = new CswNbtObjClassPrintJob(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.PrintLabelClass:
                ReturnVal = new CswNbtObjClassPrintLabel(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ProblemClass:
                ReturnVal = new CswNbtObjClassProblem(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReceiptLotClass:
                ReturnVal = new CswNbtObjClassReceiptLot(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListClass:
                ReturnVal = new CswNbtObjClassRegulatoryList(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListCasNoClass:
                ReturnVal = new CswNbtObjClassRegulatoryListCasNo(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListMemberClass:
                ReturnVal = new CswNbtObjClassRegulatoryListMember(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RegulatoryListListCodeClass:
                ReturnVal = new CswNbtObjClassRegulatoryListListCode(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportClass:
                ReturnVal = new CswNbtObjClassReport(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportGroupClass:
                ReturnVal = new CswNbtObjClassReportGroup(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.ReportGroupPermissionClass:
                ReturnVal = new CswNbtObjClassReportGroupPermission(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RequestClass:
                ReturnVal = new CswNbtObjClassRequest(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RequestItemClass:
                ReturnVal = new CswNbtObjClassRequestItem(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.RoleClass:
                ReturnVal = new CswNbtObjClassRole(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.SDSDocumentClass:
                ReturnVal = new CswNbtObjClassSDSDocument(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabClass:
                ReturnVal = new CswNbtObjClassTestingLab(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.GeneratorClass:
                ReturnVal = new CswNbtObjClassGenerator(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.SizeClass:
                ReturnVal = new CswNbtObjClassSize(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TaskClass:
                ReturnVal = new CswNbtObjClassTask(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabUserAssignmentClass:
                ReturnVal = new CswNbtObjClassTestingLabUserAssignment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.TestingLabMethodAssignmentClass:
                ReturnVal = new CswNbtObjClassTestingLabMethodAssignment(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.UnitOfMeasureClass:
                ReturnVal = new CswNbtObjClassUnitOfMeasure(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.UserClass:
                ReturnVal = new CswNbtObjClassUser(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.VendorClass:
                ReturnVal = new CswNbtObjClassVendor(CswNbtResources, Node);
                break;

            case CswEnumNbtObjectClass.WorkUnitClass:
                ReturnVal = new CswNbtObjClassWorkUnit(CswNbtResources, Node);
                break;

            default:
                //ReturnVal = new CswNbtObjClassDefault( CswNbtResources, _CswNbtNode );
                throw (new CswDniException("There is no NbtObjClass derivative for object class " + ObjectClass.ObjectClass.ToString()));
            }//switch


            return(ReturnVal);
        } //makeObjClass()
 public CswNbtObjClassGenerator( CswNbtResources CswNbtResources, CswNbtNode Node )
     : base( CswNbtResources, Node )
 {
     _CswNbtPropertySetSchedulerImpl = new CswNbtPropertySetSchedulerImpl( _CswNbtResources, this, Node );
 }
 public CswNbtObjClassReportGroupPermission(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
 public CswNbtKioskModeOpenableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeOpenable OpenableObj)
 {
     _CswNbtResources = CswNbtResources;
     _OpenableObj     = OpenableObj;
 }
示例#8
0
 public CswNbtImportDataMap(CswNbtResources CswNbtResources, DataRow DataMapRow)
 {
     _finishConstructor(CswNbtResources, DataMapRow);
 }
示例#9
0
 private void _finishConstructor(CswNbtResources CswNbtResources, DataRow DataMapRow)
 {
     _CswNbtResources = CswNbtResources;
     _row             = DataMapRow;
 }
 public CswNbtObjClassInspectionTargetGroup(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
示例#11
0
 public CswNbtObjClassPrinter(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
示例#12
0
 public CswNbtKioskModeRule(CswNbtResources NbtResources)
 {
     _CswNbtResources = NbtResources;
 }
 /// <summary>
 /// Property Set ctor
 /// </summary>
 protected CswNbtPropertySetPermission( CswNbtResources CswNbtResources, CswNbtNode Node ) : base( CswNbtResources, Node ) {}
        private static Collection <CswNbtImportWcf.DltExistingNodesReturn.DltExistingNodesReturnData.DoomedNode> _retriveDoomedNodes(CswNbtResources NbtResources)
        {
            Collection <CswNbtImportWcf.DltExistingNodesReturn.DltExistingNodesReturnData.DoomedNode> DoomedNodes = new Collection <CswNbtImportWcf.DltExistingNodesReturn.DltExistingNodesReturnData.DoomedNode>();

            CswArbitrarySelect NodeTblSelect = NbtResources.makeCswArbitrarySelect("getDoomedNodes_nbtImporter",
                                                                                   @"select t.nodeid, t.nodename, t.nodetypeid, nt.nodetypename
                                from nodes t
                                join nodetypes nt on (nt.nodetypeid = t.nodetypeid)
                                where nodename not in ('chemsw_admin', 'chemsw_admin_role', 'Each', 'Days', 'Ci', 'kg',
                                    'Liters', 'lb', 'gal', 'cu.ft.', 'CISPro_Admin',
                                    'CISPro_General', 'Default Jurisdiction')
                                and t.nodetypeid not in
                                    (1130, 1212, 1329, 1330, 1369, 33, 114, 659, 1052, 1053, 1290, 1291, 1292, 1293, 1211)
                                and nodetypename not like 'Design%'");

            DataTable NodesTbl = NodeTblSelect.getTable();

            foreach (DataRow Row in NodesTbl.Rows)
            {
                DoomedNodes.Add(new CswNbtImportWcf.DltExistingNodesReturn.DltExistingNodesReturnData.DoomedNode
                {
                    NodeId   = CswConvert.ToInt32(Row["nodeid"]),
                    NodeName = CswConvert.ToString(Row["nodename"]),
                    NodeType = CswConvert.ToString(Row["nodetypename"])
                });
            }

            return(DoomedNodes);
        }//_retriveDoomedNodes()
示例#15
0
 public CswNbtObjClassCofADocument( CswNbtResources CswNbtResources, CswNbtNode Node ) : base( CswNbtResources, Node ) { }
 public CswNbtObjClassFeedback( CswNbtResources CswNbtResources, CswNbtNode Node ) : base( CswNbtResources, Node ) {}
示例#17
0
 public CswNbtObjClassTest(CswNbtResources CswNbtResources, CswNbtNode Node)
     : base(CswNbtResources, Node)
 {
     _CswNbtObjClassDefault = new CswNbtObjClassDefault(_CswNbtResources, Node);
 }//ctor()
示例#18
0
 public CswNbtObjClassDSDPhrase(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
示例#19
0
 public CswNbtSdTrees(CswNbtResources CswNbtResources, CswNbtView View)
 {
     _CswNbtResources = CswNbtResources;
     _View            = View;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 public CswNbtObjClassRequestContainerDispense(CswNbtResources CswNbtResources, CswNbtNode Node)
     : base(CswNbtResources, Node)
 {
 }//ctor()
示例#21
0
 /// <summary>
 /// Create an ObjClass instance for given ObjectClassId and Node
 /// </summary>
 public static CswNbtObjClass makeObjClass(CswNbtResources CswNbtResources, Int32 ObjectClassId, CswNbtNode Node = null)
 {
     return(makeObjClass(CswNbtResources, CswNbtResources.MetaData.getObjectClass(ObjectClassId), Node));
 }
示例#22
0
 public CswNbtWebServiceC3Search(CswNbtResources CswNbtResources)
 {
     _CswNbtResources = CswNbtResources;
 }
 public CswNbtSdInventoryLevelMgr(CswNbtResources Resources)
 {
     _CswNbtResources = Resources;
     _SdLocations     = new CswNbtSdLocations(_CswNbtResources);
 }
示例#24
0
 public CswNbtObjClassLQNo( CswNbtResources CswNbtResources, CswNbtNode Node ) : base( CswNbtResources, Node ) {}
示例#25
0
 public CswNbtObjClassGHSSignalWord(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
示例#26
0
 public CswNbtObjClassJurisdiction(CswNbtResources CswNbtResources, CswNbtNode Node) : base(CswNbtResources, Node)
 {
 }
示例#27
0
 public CswNbtSessionDataMgr( CswNbtResources Resources )
 {
     _CswNbtResources = Resources;
 }
 public CswNbtModuleRuleMultiInventoryGroup(CswNbtResources CswNbtResources) :
     base(CswNbtResources)
 {
 }
示例#29
0
 public CswNbtWebServiceAuditing(CswNbtResources CswNbtResources)
 {
     _CswNbtResources = CswNbtResources;
 }
        public static void downloadImportDefinition(ICswResources CswResources, CswNbtImportWcf.GenerateSQLReturn Ret, string ImportDefName)
        {
            CswNbtResources NbtResources = (CswNbtResources)CswResources;

            Ret.stream = new MemoryStream();
            StreamWriter sw = new StreamWriter(Ret.stream);

            #region document_header
            sw.Write(@"<?xml version=""1.0""?>
<?mso-application progid=""Excel.Sheet""?>
<Workbook
   xmlns=""urn:schemas-microsoft-com:office:spreadsheet""
   xmlns:o=""urn:schemas-microsoft-com:office:office""
   xmlns:x=""urn:schemas-microsoft-com:office:excel""
   xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet""
   xmlns:html=""http://www.w3.org/TR/REC-html40"">
  <DocumentProperties xmlns=""urn:schemas-microsoft-com:office:office"">
    <Author>Accelrys Inc.</Author>
    <LastAuthor>ChemSW Live</LastAuthor>
    <Created>2007-03-15T23:04:04Z</Created>
    <Company>Accelrys Inc.</Company>
    <Version>1</Version>
  </DocumentProperties>
  <ExcelWorkbook xmlns=""urn:schemas-microsoft-com:office:excel"">
    <WindowHeight>6795</WindowHeight>
    <WindowWidth>8460</WindowWidth>
    <WindowTopX>120</WindowTopX>
    <WindowTopY>15</WindowTopY>
    <ProtectStructure>False</ProtectStructure>
    <ProtectWindows>False</ProtectWindows>
  </ExcelWorkbook>
  <Styles>
    <Style ss:ID=""Default"" ss:Name=""Normal"">
      <Alignment ss:Vertical=""Bottom"" />
      <Borders />
      <Font />
      <Interior />
      <NumberFormat />
      <Protection />
    </Style>
    <Style ss:ID=""s21"">
      <Font x:Family=""Swiss"" ss:Bold=""1"" />
    </Style>
  </Styles>");

            #endregion


            Dictionary <string, DataTable> BindingsTables = _retrieveBindings(NbtResources, ImportDefName);

            DataTable dt = BindingsTables["Order"];

            foreach (KeyValuePair <string, DataTable> Table in BindingsTables)
            {
                //remove the PK column so its not exposed in the excel file
                Table.Value.Columns.Remove("importdef" + Table.Key.TrimEnd(new[] { 's' }) + "id");


                //name each worksheet tab after the table
                sw.Write("<Worksheet ss:Name=\"" + Table.Key + "\"><Table>");

                //add the column headers along the first row of cells
                sw.Write("<Row>");
                foreach (DataColumn Column in Table.Value.Columns)
                {
                    sw.Write("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">" + Column.ColumnName + "</Data></Cell>");
                }
                sw.Write("</Row>");
                sw.Write("<Row />");

                //after an extra blank space, add the data for each row
                foreach (DataRow Row in Table.Value.Rows)
                {
                    sw.Write("<Row>");
                    foreach (DataColumn Column in Table.Value.Columns)
                    {
                        sw.Write("<Cell><Data ss:Type=\"String\">" + Row[Column] + "</Data></Cell>");
                    }
                    sw.Write("</Row>");
                }

                sw.Write("</Table></Worksheet>");
            }

            sw.Write("</Workbook>");
            sw.Flush();
            Ret.stream.Position = 0;
        }