コード例 #1
0
	def readExcelInfo(self, inFile):
		xl = ReaderExcelCore(inFile)
		sheetnames = xl.worksheets()
		# print sheetnames
		for sheet in sheetnames:
			if sheet == 'input':
				klassName = ''
				oldKlassEng = ''
				for row  in xl.getIter(sheet, True):
					# Klass_Name, Field_Name, Field_Datatype, Field_Null_Option, Field_Is_PK, Field_Is_FK, Attribute_Name, Entity_Name, SEQ_NO
					try:
					    #번호	클래스명	가시성	타입	속성명
						seqNo, klassName, fieldVisibility, fieldType, fieldName = row[0:5]
					except (ValueError):
						print 'excel input file is invalid'
						print '엑셀 파일에 문제가 있습니다. 열의 개수가 너무 많습니다.'
						sys.exit(2)

					if seqNo == 'NO': continue
					if fieldName == '': break
					if oldKlassEng != klassName:
						aKlass = Klass()
						aKlass.setAttributes(klassName)
						self.klassListFromExcel.append(aKlass)

					oldKlassEng = klassName

					if len(fieldName) > 0:
						aField = Field()
						aField.setAttributes(fieldVisibility, fieldType, fieldName)
						aKlass.addFieldList(aField)
						
		return self.klassListFromExcel
コード例 #2
0
	def getKlassList(self, inRs):
		klassName = ''
		oldKlassEng = ''
		for row  in inRs:
			try:
			    #번호	클래스명	가시성	타입	속성명
				seqNo, klassName, fieldVisibility, fieldType, fieldName = row[0:5]
			except (ValueError):
				print 'excel input file is invalid'
				sys.exit(2)

			if fieldName == '': break
			if oldKlassEng != klassName:
				aKlass = Klass()
				aKlass.setAttributes(klassName)
				#self.setMethod(aKlass)
				
				self.klassList.append(aKlass)

			oldKlassEng = klassName

			if len(fieldName) > 0:
				aField = Field(self.CONS)
				aField.setAttributes(fieldVisibility, fieldType, fieldName)
				aKlass.addFieldList(aField)

		return self.klassList
コード例 #3
0
	def readExcelInfo(self, inFile):
		xl = ReadExcel(inFile)
		sheetnames = xl.worksheets()
		# print sheetnames
		for sheet in sheetnames:
			#-------------------------------------------------------------------
			if sheet == 'TABLE_Source':
				entityName = ''
				oldentityName = ''
				for row  in xl.getIter(sheet, True):
					#ClassName	속성	가시성	타입	기본값	속성

					try:
						tableViewName, columnName, columnDatatype, columnNullOption, \
							columnIsPK, columnIsFK, attributeName, entityName = row[0:8]
					except (ValueError):
						print '엑셀 파일에 문제가 있습니다. 열의 개수가 너무 많습니다.'
						sys.exit(2)

					if entityName == 'EntityName': continue
					if attributeName == '': break
					if oldentityName != entityName:
						aKlass = Klass()
						aKlass.setAttributes(entityName,tableViewName)
						self.klassListFromExcel.append(aKlass)
						self.setKlassDictByName(entityName,aKlass)

					oldentityName = entityName

					if len(attributeName) > 0:
						aField = Field(self.typeMapper)
						#ClassName	가시성	타입	속성명

						aField.setAttributes(columnName, columnDatatype, columnNullOption, \
							columnIsPK, columnIsFK, attributeName)
						aKlass.addFieldList(aField)
			#-------------------------------------------------------------------
		
		return self.klassListFromExcel