first commint

This commit is contained in:
suqin
2025-12-06 17:48:48 +08:00
commit 37f211ffc6
14 changed files with 5122 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import tempfile
import os
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from detect_filled_cells import detect_colored_cells
def create_sample_workbook(path):
wb = Workbook()
ws = wb.active
ws.title = 'Sheet1'
# A1: solid green with full ARGB
ws['A1'].fill = PatternFill(start_color='FF00B050', end_color='FF00B050', fill_type='solid')
ws['A1'].value = 'block'
# B2: solid blue with 6-digit rgb (should be treated as FF+rgb)
ws['B2'].fill = PatternFill(start_color='00B0F0', end_color='00B0F0', fill_type='solid')
ws['B2'].value = 'water'
# C3: no fill
ws['C3'].value = 'empty'
wb.save(path)
def run_test():
tf = tempfile.NamedTemporaryFile(delete=False, suffix='.xlsx')
tf.close()
try:
create_sample_workbook(tf.name)
print(f"Saved sample workbook to: {tf.name}")
results = detect_colored_cells(tf.name, sheet_name='Sheet1')
print('Detected colored cells:')
for r in results:
print(r)
assert any(r['coordinate'] == 'A1' for r in results), 'A1 should be detected'
assert any(r['coordinate'] == 'B2' for r in results), 'B2 should be detected'
assert all(r['coordinate'] != 'C3' for r in results), 'C3 should not be detected'
print('\nTest passed')
finally:
try:
os.unlink(tf.name)
except Exception:
pass
if __name__ == '__main__':
run_test()