| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import xlsxwriter
- import time
- def gs1(start_at=1, total=1):
- result_list = []
- for i in range(total):
- upc_a = '192995409484'
- serial = start_at + i
- indicator = '0'
- company_prefix = upc_a[0:6]
- item_number = upc_a[6:11]
- if len(company_prefix) < 7:
- company_prefix = company_prefix.zfill(7)
- header = 48
- filter = 1
- partition = 5
- header_bin = format(header, 'b').zfill(8)
- filter_bin = format(filter, 'b').zfill(3)
- partition_bin = format(partition, 'b').zfill(3)
- company_prefix_bin = format(int(company_prefix), 'b').zfill(24)
- item_number_bin = format(int(indicator + item_number), 'b').zfill(20)
- serial_bin = format(serial, 'b').zfill(38)
- epc_bin = header_bin + filter_bin + partition_bin + company_prefix_bin + item_number_bin + serial_bin
- epc_hex = hex((int(epc_bin, 2)))[2:].upper()
- result = epc_hex
- result_list.append(result)
-
- return result_list
- def generate_excel(result_list):
- workbook = xlsxwriter.Workbook(str(int(time.time()))+'.xlsx')
- font_14 = workbook.add_format({'font_name': u'宋体', 'size': 14, 'align': 'center'})
- font_16 = workbook.add_format({'font_name': u'宋体', 'size': 16, 'align': 'center'})
- current_sheet = workbook.add_worksheet()
- current_sheet.set_column('A1:A1', 30)
- for index, record in enumerate(result_list):
- current_sheet.write(index, 0, record, font_16)
- workbook.close()
- if __name__ == "__main__":
- # 起始位
- start_at = 1
- # 生成总数量
- total = 20
- result_list = gs1(start_at, total)
- generate_excel(result_list)
- print('done')
|