xlwings替代raspbian和libreoffice计算

kmpatx3s  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(268)

我在raspbian和libreoffice方面的经验非常有限,但我一直都知道并使用excel和xlwings。我需要找到一种方法来创建一个与我在xlwings中创建的程序相同的程序。如果有任何帮助,我将不胜感激。
我在xlwings中的代码:打开一个excel窗口;获取并验证两个输入,并获取第一个输入的时间;检查excel文件有多少行;检查最后一个序列号;检查输入是否符合标准。然后,它在序列号上加1,并将所有信息放入文件中,该文件将实时显示(这是必要的)。代码如下:

import xlwings as xw

file = 'test.xlsx'

wb = xw.Book(file)
sht = wb.sheets['Sheet1']
active_sheet = wb.sheets.active

sht.range('A1:A5').columns.autofit()

sht.range('A1').value = ['serial no.', 'date/time', 'gross', 'net', 'pass/fail']

while True:
    try:
        gross = float(input('Input Gross: '))
        gross = '%.2f' % gross
    except ValueError:
        print('You need to enter a number with a decimal point\nExample 7.05')
        continue

    try:
        net = float(input('Input Net: '))
        net = '%.2f' % net
    except ValueError:
        print('You need to enter a number with a decimal point\nExample 6.58')
        continue

    date_time = datetime.now().strftime("%d/%m/%Y %H:%M:%S")

    num_rows = sht.api.UsedRange.Rows.Count
    if num_rows == 1:
        last_serial = 0
    else:
        cell = 'A' + str(num_rows)
        last_serial = sht.range(cell).value
        print(last_serial)
        print(type(last_serial))

    new_serial = int(last_serial) + 1

    if float(gross) < 6.25 or float(gross) > 7.80:
        print('Fail')
        pass_fail = 'Fail'
    else:
        pass_fail = 'Pass'

    next_row = 'A' + str(num_rows + 1)

    sht.range(next_row).value = [new_serial, date_time, gross, net, pass_fail]

wb.save()

代码不是完美的,但它给你和什么我要找的想法。有没有可能在图书馆用树莓皮做这个?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题