# excel-automate-utils **Repository Path**: weixp/excel-automate-utils ## Basic Information - **Project Name**: excel-automate-utils - **Description**: Excel自动化操作 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-10-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # excel-automate-utils #### 介绍 Excel自动化操作 #### 软件架构 使用openpyxl库完成 #### 安装教程 1. 克隆该项目 2. 将core目录放在项目根目录下面 3. 开始编码使用 4. 注意excel_files目录与core目录同级,它是当制定的excel文件为相对路径时就从该文件夹中寻找 #### 使用说明 **注意:这里只能使用`xlsx`文件,不支持`xls`文件,所以需要你事先转换** ```python from core.excel_data import ExcelData from core.excel_handler import ExcelHandler from core.simple_value_cell_data_handler import SimpleValueCellDataHandler from core.match_value_cell_data_handler import MatchValueCellDataHandler from core.letter_match_item import LetterMatchItem from core.random_value_cell_data_handler import RandomValueCellDataHandler from random import randint ''' 这是一个简单的随机填充已存在的一个Excel表中的某一列值,这里是爱好列,爱好因为男女又不一样,所以随机时需要 判断男女,而男女在该表中不存在,在另外一张表中,所以,就要先匹配另外一张表中的值,这里匹配的是身份证, 根据身份证号码第17位是奇数还是偶数判断男女 ''' if __name__ == '__main__': handler = MatchValueCellDataHandler( ExcelData('/Users/venus/Downloads/居民身份证.xlsx', '学生基础信息', 2), (LetterMatchItem('A', 'A'),), 'G' ) def random(t: tuple) -> int: identity = handler.handle(t) if isinstance(identity, str): identity = identity.strip() if int(identity[-2]) % 2 == 0: return randint(0, 1) return randint(2, 5) data = ExcelHandler('/Users/venus/Downloads/student.xlsx', '学生基础信息') data.fill_column_values( column_dimension='AR', data_row_number=2, handler=RandomValueCellDataHandler( ('唱歌', '跳舞', '羽毛球', '篮球', '足球', '乒乓球'), lambda t: random(t) ) ) data.save('result.xlsx') ```