fisrt에서 xlsxwriter를 사용하여 하나의 셀에 간단한 수식을 작성하고 * .xlsx 파일을 닫습니다. 그런 다음 셀의 값을 읽으려고하지만 동일한 프로그램에서 xlrd를 사용하여 셀에서 '0'만 읽으려고합니다.xlsxwriter를 닫고 xlrd를 사용하여 Excel 파일을 읽은 후 formular 값을 읽지 못함
셀에 고정 값 (문자열 또는 상수와 같은)을 읽으면 제대로 작동합니다. * .xlsx 파일에서 수식 셀을 수동으로 만들면 xlrd도 수식 값을 가져올 수 있습니다.
포럼 셀라를 * .xlsx로 작성한 다음 동일한 프로그램에서 읽을 때만 수식 셀의 값을 읽을 수없는 것으로 보입니다.
파이썬 : 3.4.3 xlrd : 1.0.0 xlsxwriter : 2.0 0.0
하지만 그것은 것으로 예상 : 0.9.3
import xlrd
import xlsxwriter
name = 'abc.xlsx'
sheet_name = 'sheet1'
# write a formula in 'D1' as '=A1+C1'
out_book = xlsxwriter.Workbook(name, {'im_memory': True})
out_sheet = out_book.add_worksheet(sheet_name)
out_sheet.write('A1', 1)
out_sheet.write('C1', 2)
out_sheet.write_formula(0, 3, '=A1+C1')
out_book.close()
#After closing excel, read the cell
tmp = xlrd.open_workbook(name)
sheet = tmp.sheet_by_name(sheet_name)
#show '2.0'
print (sheet.cell_value(0, 2))
#show '0.0'
print (sheet.cell_value(0, 3))
결과는 2.0 3.0
어떻게 해결할 수 있습니까? 고마워요!
'xlwing'을 사용하여 쓰기 및 읽기를 모두 수행 할 수 있습니다. http://docs.xlwings.org/en/stable/quickstart.html – Trimax
감사합니다. Trimax. xlwing이 처음으로 수식을 쓰고 그 값을 읽을 수 있습니까? 나는 xlwing 나중에 시도 할 것이다 – Finnson