import openpyxl, json, os, math, re
from openpyxl.utils import get_column_letter
path='/Users/qianliyun/.hermes/profiles/feishu8/cache/documents/doc_263f11c0d204_万物有灵项目利润分配表 2026.5.14.xlsx'
for data_only in [True, False]:
    wb = openpyxl.load_workbook(path, data_only=data_only, read_only=True)
    print('DATA_ONLY' if data_only else 'FORMULAS')
    for ws in wb.worksheets:
        # find meaningful bounds (ignore empty/blank strings)
        maxr=maxc=0; non=0
        samples=[]
        formulas=0
        for row in ws.iter_rows():
            for cell in row:
                v=cell.value
                if v is None or v=='':
                    continue
                non += 1
                maxr=max(maxr, cell.row); maxc=max(maxc, cell.column)
                if len(samples)<10:
                    samples.append((cell.coordinate, v))
                if isinstance(v,str) and v.startswith('='):
                    formulas += 1
        print(json.dumps({'sheet':ws.title,'reported':(ws.max_row,ws.max_column),'meaningful':(maxr,maxc),'nonempty':non,'formulas':formulas,'sample':[(a,str(b)[:80]) for a,b in samples]}, ensure_ascii=False))
    print()
# print key table data_only first sheet
wb = openpyxl.load_workbook(path, data_only=True, read_only=True)
ws=wb['收入分配表']
print('收入分配表 data_only A1:AN17')
for r in range(1,18):
    vals=[ws.cell(r,c).value for c in range(1,41)]
    if any(v is not None for v in vals):
        print(r, vals)
# sheet names and rows for group sheets B totals
for s in ['公共组收入支配情况（实际扣款时间）','公共组收入支配情况（应支付时间）','苏薇提成支取表','小蒋提成支取表','木雨提成支取表','妹妹项目组','自研产品组','AIGC组','电商渠道组','云汉寻真账户明细','元浪公共账户','个体户账户']:
    if s in wb.sheetnames:
        ws=wb[s]
        print('\nKEY',s)
        for r in range(1,min(ws.max_row,40)+1):
            label=ws.cell(r,1).value
            b=ws.cell(r,2).value
            if label is not None or b is not None:
                print(r, label, b)
