核心对象模型库的核心操作围绕两个对象展开Workbook代表整个 Excel 工作簿负责文件的加载与保存Worksheet代表单个工作表提供单元格访问与查找替换能力导入方式from spire.xls import *from spire.xls.common import *基本用法在整个工作表中查找和替换最基础的操作是在整个工作表中查找特定文本并将其替换为新内容。核心方法是Worksheet.FindAllString()它返回所有包含指定字符串的单元格。以下示例演示了如何将工作表中所有的“总数”替换为“合计金额”并高亮显示被修改的单元格from spire.xls import *from spire.xls.common import *创建Workbook对象workbook Workbook()加载Excel文件workbook.LoadFromFile(“数据.xlsx”)获取第一个工作表worksheet workbook.Worksheets[0]查找工作表中包含总数的所有单元格参数要查找的字符串、是否区分大小写、是否完全匹配ranges worksheet.FindAllString(“总数”, False, False)遍历找到的单元格并替换for range in ranges:range.Text “合计金额”设置背景色以突出显示被修改的单元格range.Style.Color Color.get_Yellow()保存结果文件workbook.SaveToFile(“替换结果.xlsx”, ExcelVersion.Version2016)workbook.Dispose()FindAllString()方法的三个参数分别表示待查找的字符串、是否区分大小写True 为区分、是否要求完全匹配True 为完全匹配。在指定单元格区域中查找和替换当工作表数据量大时限定搜索范围可以提高效率并避免误改。通过Worksheet.Range[]获取特定区域后使用CellRange.FindAllString()方法在该区域内查找from spire.xls import *from spire.xls.common import *workbook Workbook()workbook.LoadFromFile(“数据.xlsx”)sheet workbook.Worksheets[0]获取指定的单元格区域A6到C13range sheet.Range[“A6:C13”]在该区域内查找包含总数的单元格cells range.FindAllString(“总数”, False, False)for cell in cells:cell.Text “合计金额”cell.Style.Color Color.get_Yellow()workbook.SaveToFile(“区域替换结果.xlsx”, ExcelVersion.Version2016)workbook.Dispose()高级技巧查找后执行条件替换在实际场景中替换逻辑可能不是简单的文本替换而是需要根据条件进行判断。以下示例展示了如何在查找后根据单元格原有内容执行不同的替换逻辑from spire.xls import *from spire.xls.common import *workbook Workbook()workbook.LoadFromFile(“销售数据.xlsx”)worksheet workbook.Worksheets[0]查找所有包含数字的单元格假设需要将销售额单位从元改为万元ranges worksheet.FindAllString(“元”, False, False)for range in ranges:original range.Text提取数字部分并转换为万元try:假设原始格式为1234元num float(original.replace(“元”, “”))range.Text f{num / 10000:.2f}万元except:如果格式不匹配保持原样passworkbook.SaveToFile(“条件替换结果.xlsx”, ExcelVersion.Version2016)workbook.Dispose()