import openpyxl
type_name = 'test'
file_name_rd = type_name + '.xlsx'
wb = openpyxl.load_workbook(file_name_rd)
names = wb.sheetnames
sheet1 = wb[names[0]]
sheet2 = wb[names[1]]
sheet3 = wb[names[2]]
maxRow2 = sheet2.max_row
cfile_name_h = type_name + '.h'
afile_name_h = 'a'+type_name + '.h'
cfile_handle = open(cfile_name_h, mode='w')
afile_handle = open(afile_name_h, mode='w')
cfile_handle.write('#ifndef __' + type_name + '_H\n')
cfile_handle.write('#define __' + type_name + '_H\n')
cfile_handle.write('\n')
afile_handle.write('\n')
cfile_handle.write('\n')
afile_handle.write('\n')
for i in range(1, maxRow2 + 1, 1):
strtemp = str(sheet2.cell(i, 2).value)
if not ('-' in strtemp) and strtemp != 'None' and '' != strtemp:
strtemp2 = str(sheet2.cell(i, 1).value)
strtemp2 = strtemp2.replace('0x', '')
strtemp2 = 'H\'0' + strtemp2 + '\''
cfile_handle.write('volatile \t' + 'unsigned char \t' + '%-8s' % str(sheet2.cell(i, 2).value) + '\t@\t' + str(
sheet2.cell(i, 1).value) + ';\n')
afile_handle.write('%-8s' % strtemp + '\t\t EQU \t\t' + strtemp2 + '\n')
cfile_handle.write('\n')
for i in range(1, maxRow2 + 1, 1):
j = 3
k = 3
while k < 11:
text_tem0 = str(sheet2.cell(i, k).value)
if 'None' != text_tem0 and '' != text_tem0 and not ('-' in text_tem0):
sheet2.cell(i, 12).value = '**'
cfile_handle.write('/* Definitions for ' + str(sheet2.cell(i, 2).value) + ' register */\n')
afile_handle.write(';---------- ' + str(sheet2.cell(i, 2).value) + ' Bits ----------\n')
k = 15
else:
k = k + 1
if k == 15:
while j < 11:
text_tem0 = str(sheet2.cell(i, j).value)
if 'None' != text_tem0 and '' != text_tem0 and not ('-' in text_tem0):
cfile_handle.write('volatile \t bit \t ' + '%-8s' % text_tem0 + '\t @ ((unsigned)&' + str(
sheet2.cell(i, 2).value) + '*8)+' + str(10 - j) + ';\n')
afile_handle.write('%-8s' % text_tem0 + '\t\t EQU \t\t' + 'H\'0' + str(10 - j) + '\'\n')
j += 1
cfile_handle.write('\n')
afile_handle.write('\n')
cfile_handle.write('#endif\n')
wb.save(file_name_rd)
cfile_handle.close()
afile_handle.close()
print('over')