浦口区网站建设售后服务,建设一个网站多少钱,瑞昌网站建设,优质网站建设财务需要一个扫描枪扫描发票文件#xff0c;并将主要信息录入Excel 的功能。
文件中sheet表的列名称#xff0c;依次为#xff1a;发票编号、发票编码、日期、金额、工号、扫描日期。 扫描的时候#xff0c;Excel 文件需要关闭#xff0c;否则会报错。
import openpyxl
…财务需要一个扫描枪扫描发票文件并将主要信息录入Excel 的功能。
文件中sheet表的列名称依次为发票编号、发票编码、日期、金额、工号、扫描日期。 扫描的时候Excel 文件需要关闭否则会报错。
import openpyxl
import datetimedef write_line_excel(text):if text :returnwork_book openpyxl.load_workbook(fapiaosaomiao.xlsx)sheet work_book.activemax_rows sheet.max_row# 获取发票编码 一列fapiaoList [cell.value for cell in sheet[B]]# 解析文本textList text.split(,)# 判断发票是否重复如果重复就直接打印发票重复实际业务需要if textList[3] in fapiaoList:print(发票编码重复: textList[3])return# 这里的判断是因为有2种类型的发票文件# 判断第3个元素内容如果是空那么是新版如果是数字那么是旧发票if textList[2] ! :# 发票编号sheet.cell(max_rows 1, 1, textList[2])# 发票编码sheet.cell(max_rows 1, 2, textList[3])# 日期# 这里只是修改日期的显示格式实际业务需要date_str textList[5][:4] - textList[5][4:6] - textList[5][-2:]sheet.cell(max_rows 1, 3, date_str)# 金额sheet.cell(max_rows 1, 4, textList[4])# 工号填空即可实际业务需要sheet.cell(max_rows 1, 5, 0)# 扫描日期# 获取当前日期和时间current_datetime datetime.datetime.now()# 格式化当前日期和时间formatted_datetime current_datetime.strftime(%Y/%m/%d %H:%M:%S)sheet.cell(max_rows 1, 6, formatted_datetime)work_book.save(fapiaosaomiao.xlsx)def main():while True:scanned_data input(扫描内容或指令:)if scanned_data q:exit()write_line_excel(scanned_data)if __name__ __main__:main()