Excel Sheet Row Numbers

#include <iostream>
#include <string>

/*
Translate number to string presentation: 1->a, 27->aa, 28->ab
http://www.leetcode.com/2010/10/amazon-bar-raiser-interview-question.html
*/
std::string num_to_string(int n)
{
	std::string res = "";

	while (n != 0)
	{
		char cur_char = (char)((n % 26) + 'a' - 1);
		std::string cur_str(1, cur_char);
		n /= 26;
		res = cur_str + res;
	}

	return res;
}

int main()
{
	std::string res = num_to_string(1);

	return 0;
}

import pandas as pd from openpyxl import load_workbook # ✅ 修复:导入 load_workbook from openpyxl.styles import numbers import xlwings as xw import requests import time # 文件路径 file_path = r'reports\PON口码化情况清单.xlsx' file_path1 = r'reports\OBD尾纤贴码分类报表.xlsx' # 读取前两个 sheet,跳过前3行,保留表头 sheet1 = pd.read_excel(file_path, sheet_name=0, skiprows=2, header=0) sheet2 = pd.read_excel(file_path, sheet_name=1, skiprows=2, header=0) # 合并两个子表 combined_df = pd.concat([sheet1, sheet2], ignore_index=True) # 查看结果 # 保存为新的 Excel 文件 combined_df.to_excel('combined_data_with_header.xlsx', index=False) # 读取前两个 sheet,跳过前3行,保留表头 sheet_1 = pd.read_excel(file_path1, sheet_name=0, skiprows=2, header=0) sheet_2 = pd.read_excel(file_path1, sheet_name=1, skiprows=2, header=0) sheet_3 = pd.read_excel(file_path1, sheet_name=2, skiprows=2, header=0) sheet_4 = pd.read_excel(file_path1, sheet_name=3, skiprows=2, header=0) sheet_5 = pd.read_excel(file_path1, sheet_name=4, skiprows=2, header=0) sheet_6 = pd.read_excel(file_path1, sheet_name=5, skiprows=2, header=0) sheet_7 = pd.read_excel(file_path1, sheet_name=6, skiprows=2, header=0) sheet_8 = pd.read_excel(file_path1, sheet_name=7, skiprows=2, header=0) sheet_9 = pd.read_excel(file_path1, sheet_name=8, skiprows=2, header=0) sheet_10 = pd.read_excel(file_path1, sheet_name=9, skiprows=2, header=0) # 合并两个子表 combined_df_1 = pd.concat([sheet_1, sheet_2, sheet_3, sheet_4, sheet_5, sheet_6, sheet_7, sheet_8, sheet_9, sheet_10], ignore_index=True) # 查看结果 # 保存为新的 Excel 文件 combined_df_1.to_excel('combined_data_with_header_1.xlsx', index=False) # 读取 Excel 文件 file_path = 'combined_data_with_header.xlsx' df = pd.read_excel(file_path) # 筛选第 8 列(列索引为 7)为空的行 blank_rows = df[df.iloc[:, 7].isna()] # 查看筛选结果 # 保存到新文件 blank_rows.to_excel('filtered_blank_rows.xlsx', index=False) print("✅ 已成功筛选并保留第 8 列为空的行,保存到 'filtered_blank_rows.xlsx'") from openpyxl import load_workbook # 打开 Excel 文件 file_path = 'combined_data_with_header_1.xlsx' wb = load_workbook(file_path) ws = wb.active # 确定从第 2 行开始写入公式(假设第 1 行是标题) for row in range(2, ws.max_row + 1): ws[f'Z{row}'] = f'=X{row}&Y{row}' # 保存修改 wb.save('formula_added_file_1.xlsx') print("✅ 已添加公式,并保存到 'formula_added_file_1.xlsx'") # 打开 Excel 文件 file_path = 'filtered_blank_rows.xlsx' wb = load_workbook(file_path) ws = wb.active # 确定从第 2 行开始写入公式(假设第 1 行是标题) for row in range(2, ws.max_row + 1): ws[f'K{row}'] = f'=C{row}&D{row}' ws[f'L{row}'] = f'=IF(G{row}="A","机箱异常","用户未码")' ws[f'M{row}'] = f'=XLOOKUP(K{row},机箱参考!Z:Z,机箱参考!E:E)' # 保存修改 wb.save('formula_added_file.xlsx') print("✅ 已添加公式,并保存到 'formula_added_file.xlsx'") from openpyxl import load_workbook from openpyxl.styles import Alignment # 打开 Excel 文件 file_path = 'formula_added_file.xlsx' wb = load_workbook(file_path) ws = wb.active # 设置单元格内容 ws['K1'] = "合并" ws['L1'] = "合并" ws['M1'] = "参考位置" # 保存文件 wb.save('merged_header_file.xlsx') print("✅ 已添加标题,保存为 'merged_header_file.xlsx'") from openpyxl import load_workbook # 文件路径 source_file = 'formula_added_file_1.xlsx' target_file = 'merged_header_file.xlsx' # 加载源文件和目标文件 source_wb = load_workbook(source_file) target_wb = load_workbook(target_file) # 获取源表数据 source_sheet = source_wb.active # 检查目标文件是否存在 "Sheet2",若不存在则创建 if "Sheet2" in target_wb.sheetnames: target_sheet = target_wb["Sheet2"] else: target_sheet = target_wb.create_sheet("Sheet2") print("⚠️ Sheet2 不存在,已自动创建") # 获取目标表最后一行的下一行 start_row = target_sheet.max_row + 1 # 将源表数据追加写入目标表 for row in source_sheet.iter_rows(values_only=True): target_sheet.append(row) # 保存目标文件 target_wb.save(target_file) print("✅ 数据已成功追加到目标文件的 Sheet2 中") from openpyxl import load_workbook # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 获取当前工作表名称列表 sheet_names = wb.sheetnames # 打印当前工作表名 print("当前工作簿中的工作表名称:", sheet_names) # 检查是否存在名为 "Sheet2" 的工作表 if "Sheet2" in sheet_names: # 获取该工作表 ws = wb["Sheet2"] # 重命名为 "机箱参考" ws.title = "机箱参考" print("✅ 工作表 'Sheet2' 已重命名为 '机箱参考'") else: print("❌ 错误:工作簿中不存在名为 'Sheet2' 的工作表") # 保存修改 wb.save(file_path) # 原始 .xls 文件路径 xls_file = 'reports\宽带资源情况表_旧.xlsx' xlsx_file = '宽带资源情况表_旧.xlsx' # 使用 pandas 读取 .xls 文件(依赖 xlrd) df = pd.read_excel(xls_file) # 保存为 .xlsx 文件(使用 openpyxl 引擎) df.to_excel(xlsx_file, index=False, engine='openpyxl') print("✅ .xls 文件已成功转换为 .xlsx 格式") from openpyxl import load_workbook # 文件路径 source_file = r'宽带资源情况表_旧.xlsx' target_file = 'merged_header_file.xlsx' # 加载源文件和目标文件 source_wb = load_workbook(source_file) target_wb = load_workbook(target_file) # 获取源表数据 source_sheet = source_wb.active # 检查目标文件是否存在 "Sheet2",若不存在则创建 if "Sheet2" in target_wb.sheetnames: target_sheet = target_wb["Sheet2"] else: target_sheet = target_wb.create_sheet("Sheet2") print("⚠️ Sheet2 不存在,已自动创建") # 获取目标表最后一行的下一行 start_row = target_sheet.max_row + 1 # 将源表数据追加写入目标表 for row in source_sheet.iter_rows(values_only=True): target_sheet.append(row) # 保存目标文件 target_wb.save(target_file) print("✅ 数据已成功追加到目标文件的 Sheet2 中") from openpyxl import load_workbook # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 获取当前工作表名称列表 sheet_names = wb.sheetnames # 打印当前工作表名 print("当前工作簿中的工作表名称:", sheet_names) # 检查是否存在名为 "Sheet2" 的工作表 if "Sheet2" in sheet_names: # 获取该工作表 ws = wb["Sheet2"] # 重命名为 "日调度表1" ws.title = "日调度表1" print("✅ 工作表 'Sheet2' 已重命名为 '日调度表1'") else: print("❌ 错误:工作簿中不存在名为 'Sheet2' 的工作表") # 保存修改 wb.save(file_path) # 原始 .xls 文件路径 xls_file = r'reports\宽带资源情况表_新.xlsx' xlsx_file = '宽带资源情况表_新.xlsx' # 使用 pandas 读取 .xls 文件(依赖 xlrd) df = pd.read_excel(xls_file) # 保存为 .xlsx 文件(使用 openpyxl 引擎) df.to_excel(xlsx_file, index=False, engine='openpyxl') print("✅ .xls 文件已成功转换为 .xlsx 格式") from openpyxl import load_workbook # 文件路径 source_file = '宽带资源情况表_新.xlsx' target_file = 'merged_header_file.xlsx' # 加载源文件和目标文件 source_wb = load_workbook(source_file) target_wb = load_workbook(target_file) # 获取源表数据 source_sheet = source_wb.active # 检查目标文件是否存在 "Sheet2",若不存在则创建 if "Sheet2" in target_wb.sheetnames: target_sheet = target_wb["Sheet2"] else: target_sheet = target_wb.create_sheet("Sheet2") print("⚠️ Sheet2 不存在,已自动创建") # 获取目标表最后一行的下一行 start_row = target_sheet.max_row + 1 # 将源表数据追加写入目标表 for row in source_sheet.iter_rows(values_only=True): target_sheet.append(row) # 保存目标文件 target_wb.save(target_file) print("✅ 数据已成功追加到目标文件的 Sheet2 中") from openpyxl import load_workbook # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 获取当前工作表名称列表 sheet_names = wb.sheetnames # 打印当前工作表名 print("当前工作簿中的工作表名称:", sheet_names) # 检查是否存在名为 "Sheet2" 的工作表 if "Sheet2" in sheet_names: # 获取该工作表 ws = wb["Sheet2"] # 重命名为 "日调度表2" ws.title = "日调度表2" print("✅ 工作表 'Sheet2' 已重命名为 '日调度表2'") else: print("❌ 错误:工作簿中不存在名为 'Sheet2' 的工作表") # 保存修改 wb.save(file_path) # 原始 .xls 文件路径 xls_file = r'reports\日调度表分光器.xlsx' xlsx_file = '日调度表分光器.xlsx' # 使用 pandas 读取 .xls 文件(依赖 xlrd) df = pd.read_excel(xls_file) # 保存为 .xlsx 文件(使用 openpyxl 引擎) df.to_excel(xlsx_file, index=False, engine='openpyxl') print("✅ .xls 文件已成功转换为 .xlsx 格式") from openpyxl import load_workbook # 文件路径 source_file = '1757905734429_admin.xlsx' target_file = 'merged_header_file.xlsx' # 加载源文件和目标文件 source_wb = load_workbook(source_file) target_wb = load_workbook(target_file) # 获取源表数据 source_sheet = source_wb.active # 检查目标文件是否存在 "Sheet2",若不存在则创建 if "Sheet2" in target_wb.sheetnames: target_sheet = target_wb["Sheet2"] else: target_sheet = target_wb.create_sheet("Sheet2") print("⚠️ Sheet2 不存在,已自动创建") # 获取目标表最后一行的下一行 start_row = target_sheet.max_row + 1 # 将源表数据追加写入目标表 for row in source_sheet.iter_rows(values_only=True): target_sheet.append(row) # 保存目标文件 target_wb.save(target_file) print("✅ 数据已成功追加到目标文件的 Sheet2 中") from openpyxl import load_workbook # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 获取当前工作表名称列表 sheet_names = wb.sheetnames # 打印当前工作表名 print("当前工作簿中的工作表名称:", sheet_names) # 检查是否存在名为 "Sheet2" 的工作表 if "Sheet2" in sheet_names: # 获取该工作表 ws = wb["Sheet2"] # 重命名为 "日调度表分光器" ws.title = "日调度表分光器" print("✅ 工作表 'Sheet2' 已重命名为 '日调度表分光器'") else: print("❌ 错误:工作簿中不存在名为 'Sheet2' 的工作表") # 保存修改 wb.save(file_path) from openpyxl import load_workbook # 文件路径 source_file = 'tongbao.xlsx' target_file = 'merged_header_file.xlsx' # 加载源文件和目标文件 source_wb = load_workbook(source_file) target_wb = load_workbook(target_file) # 获取源表数据 source_sheet = source_wb.active # 检查目标文件是否存在 "Sheet2",若不存在则创建 if "Sheet2" in target_wb.sheetnames: target_sheet = target_wb["Sheet2"] else: target_sheet = target_wb.create_sheet("Sheet2") print("⚠️ Sheet2 不存在,已自动创建") # 获取目标表最后一行的下一行 start_row = target_sheet.max_row + 1 # 将源表数据追加写入目标表 for row in source_sheet.iter_rows(values_only=True): target_sheet.append(row) # 保存目标文件 target_wb.save(target_file) print("✅ 数据已成功追加到目标文件的 Sheet2 中") from openpyxl import load_workbook # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 获取当前工作表名称列表 sheet_names = wb.sheetnames # 打印当前工作表名 print("当前工作簿中的工作表名称:", sheet_names) # 检查是否存在名为 "Sheet2" 的工作表 if "Sheet2" in sheet_names: # 获取该工作表 ws = wb["Sheet2"] # 重命名为 "通报" ws.title = "通报" print("✅ 工作表 'Sheet2' 已重命名为 '通报'") else: print("❌ 错误:工作簿中不存在名为 'Sheet2' 的工作表") # 保存修改 wb.save(file_path) from openpyxl import load_workbook from openpyxl.styles import NamedStyle # 文件路径 file_path = 'merged_header_file.xlsx' # 加载工作簿 wb = load_workbook(file_path) # 检查并创建百分比样式 percent_style_name = 'Percent 2 Decimal' if percent_style_name not in wb.named_styles: percent_style = NamedStyle(name=percent_style_name) percent_style.number_format = '0.00%' wb.add_named_style(percent_style) # 获取名为 "通报" 的工作表 ws = wb['通报'] # 假设从第3行开始插入公式 start_row = 3 max_row = ws.max_row # 插入公式并设置格式 for row in range(start_row, max_row + 1): ws[f'C{row}'] = f'=XLOOKUP(A{row},日调度表分光器!A:A,日调度表分光器!C:C)' ws[f'D{row}'] = f'=XLOOKUP(A{row},日调度表分光器!A:A,日调度表分光器!E:E)' ws[f'B{row}'] = f'=XLOOKUP(A{row},日调度表分光器!A:A,日调度表分光器!B:B)' ws[f'E{row}'] = f'=XLOOKUP(A{row},日调度表2!B:B,日调度表2!F:F)' ws[f'F{row}'] = f'=XLOOKUP(A{row},日调度表1!B:B,日调度表1!F:F)' ws[f'H{row}'] = f'=COUNTIF(Sheet1!B:B, A{row})' # G列:插入公式并设置百分比格式 cell = ws[f'G{row}'] cell.value = f'=E{row}-F{row}' cell.style = percent_style_name # 在最后一行写入 SUM 公式(在 H 列) last_row = max_row ws[f'H{last_row}'] = f'=SUM(H{start_row}:H{max_row-1})' # 保存修改 wb.save(file_path) print("✅ 公式已成功插入到 '通报' 表,G 列设置为百分比格式,H 列最后一行为 SUM 公式") from openpyxl import load_workbook from openpyxl.styles import Font, Alignment, Border, Side, PatternFill # 文件路径 file_path = r'C:\Users\Lt\Desktop\test\merged_header_file.xlsx' # 原始文件路径 output_path = r'C:\Users\Lt\Desktop\test\通报_美化后.xlsx' # 输出文件路径 # 加载工作簿和子表 wb = load_workbook(file_path) sheet = wb["通报"] # 选择名为“通报”的子表 # 定义通用样式 normal_font = Font(name='微软雅黑', size=11) title_font = Font(name='微软雅黑', size=11, bold=True, color="FFFFFF") # 白色字体 alignment_center = Alignment(horizontal='center', vertical='center') thin_border = Border( left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin') ) title_fill = PatternFill(start_color='4F94CD', end_color='4F94CD', fill_type='solid') # 蓝灰色背景 # 1. 设置标题行样式(假设标题在第1行) for cell in sheet[1]: cell.font = title_font cell.alignment = alignment_center cell.fill = title_fill cell.border = thin_border # 2. 设置其余单元格样式 for row in sheet.iter_rows(min_row=2): # 从第2行开始 for cell in row: cell.font = normal_font cell.alignment = alignment_center cell.border = thin_border #3. 设置所有列的宽度为 20 个字符 for col in sheet.columns: column_letter = col[0].column_letter # 获取列的字母(如 A, B, C) sheet.column_dimensions[column_letter].width = 20 # 4. 设置统一行高 for row in sheet.iter_rows(): sheet.row_dimensions[row[0].row].height = 18 # 行高设为18 # 5. 冻结首行(冻结第一行) sheet.freeze_panes = 'A2' # 保存美化后的文件 wb.save(output_path) print(f"✅ 美化完成,文件已保存至:{output_path}") from openpyxl import load_workbook from openpyxl.styles import Border, Side # 加载 Excel 文件 file_path = r'C:\Users\Lt\Desktop\test\通报_美化后.xlsx' # 替换为你的文件路径 wb = load_workbook(file_path) sheet = wb["Sheet1"] # 指定工作表名称 # 设置列宽 column_widths = { 'A': 7, 'B': 7, 'C': 14, 'D': 9, 'E': 38, 'F': 38, 'G': 14, 'H': 14, 'I': 14, 'J': 30, 'K': 22, 'L': 12, 'M': 85 } for col, width in column_widths.items(): sheet.column_dimensions[col].width = width # 定义统一的边框样式(细实线) thin_border = Border( left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin') ) # 为所有已使用的单元格添加边框 for row in sheet.iter_rows(): for cell in row: cell.border = thin_border # 保存文件 output_path = r'your_excel_file_fixed_width_with_border.xlsx' wb.save(output_path) print(f"✅ 列宽已设置,边框已添加,文件已保存至:{output_path}") import win32com.client as win32 import time from PIL import ImageGrab import os # 启动 Excel 应用程序 excel = win32.Dispatch("Excel.Application") excel.Visible = True # 必须设为 True 才能截图 excel.DisplayAlerts = False # 禁止弹窗 # 打开工作簿 file_path = r'C:\Users\Lt\Desktop\test\your_excel_file_fixed_width_with_border.xlsx' # 替换为你的文件路径 wb = excel.Workbooks.Open(file_path) sheet = wb.Sheets("Sheet1") # 获取 Sheet1 # 确保当前是 Sheet1 激活状态 sheet.Activate() # 对 B 列进行自动筛选 sheet.Rows(1).AutoFilter() # 假设第一行是标题行 # 筛选 B 列中指定内容(港南区、平南县等) filter_values = ["港南区"] sheet.Range("B1").AutoFilter(Field=2, Criteria1=filter_values, Operator=7) # Operator=7 表示 OR 多条件筛选 # 等待 Excel 刷新界面(截图前确保筛选完成) time.sleep(1) # 定义截图区域(如 A1:M100) range_to_capture = sheet.Range("A1:M100") # 根据你的实际表格范围修改 # 将区域复制为图片 range_to_capture.CopyPicture( Appearance=1, # xlScreen Format=2 # xlPicture ) # 新建一个工作表粘贴图片(或可以使用其他方式导出为图片文件) sheet.Paste() image = ImageGrab.grabclipboard() # 保存图片到本地 output_folder = r'C:\Users\Lt\Desktop\test\tuisong' # 替换为你想保存图片的路径 os.makedirs(output_folder, exist_ok=True) image_path = os.path.join(output_folder, '港南区.png') image.save(image_path) # 可选:将图片导出为图片文件(需要额外操作) # 由于 win32com 无法直接保存剪贴板图片为文件,建议手动复制保存或使用 pywin32 + PIL 从屏幕截图 # 保存并关闭 output_path = r'C:\Users\Lt\Desktop\test\tuisong\港南区.xlsx' wb.SaveAs(output_path) wb.Close() excel.Quit() print(f"✅ 筛选港南区并截图完成,结果已粘贴至 Excel 文件。") # 启动 Excel 应用程序 excel = win32.Dispatch("Excel.Application") excel.Visible = True # 必须设为 True 才能截图 excel.DisplayAlerts = False # 禁止弹窗 # 打开工作簿 file_path = r'C:\Users\Lt\Desktop\test\your_excel_file_fixed_width_with_border.xlsx' # 替换为你的文件路径 wb = excel.Workbooks.Open(file_path) sheet = wb.Sheets("Sheet1") # 获取 Sheet1 # 确保当前是 Sheet1 激活状态 sheet.Activate() # 对 B 列进行自动筛选 sheet.Rows(1).AutoFilter() # 假设第一行是标题行 # 筛选 B 列中指定内容(港南区、平南县等) filter_values = ["港北区"] sheet.Range("B1").AutoFilter(Field=2, Criteria1=filter_values, Operator=7) # Operator=7 表示 OR 多条件筛选 # 等待 Excel 刷新界面(截图前确保筛选完成) time.sleep(1) # 定义截图区域(如 A1:M100) range_to_capture = sheet.Range("A1:M100") # 根据你的实际表格范围修改 # 将区域复制为图片 range_to_capture.CopyPicture( Appearance=1, # xlScreen Format=2 # xlPicture ) # 新建一个工作表粘贴图片(或可以使用其他方式导出为图片文件) sheet.Paste() image = ImageGrab.grabclipboard() # 保存图片到本地 output_folder = r'C:\Users\Lt\Desktop\test\tuisong' # 替换为你想保存图片的路径 os.makedirs(output_folder, exist_ok=True) image_path = os.path.join(output_folder, '港北区.png') image.save(image_path) # 可选:将图片导出为图片文件(需要额外操作) # 由于 win32com 无法直接保存剪贴板图片为文件,建议手动复制保存或使用 pywin32 + PIL 从屏幕截图 # 保存并关闭 output_path = r'C:\Users\Lt\Desktop\test\tuisong\港北区.xlsx' wb.SaveAs(output_path) wb.Close() excel.Quit() print(f"✅ 筛选港北区并截图完成,结果已粘贴至 Excel 文件。") # 启动 Excel 应用程序 excel = win32.Dispatch("Excel.Application") excel.Visible = True # 必须设为 True 才能截图 excel.DisplayAlerts = False # 禁止弹窗 # 打开工作簿 file_path = r'C:\Users\Lt\Desktop\test\your_excel_file_fixed_width_with_border.xlsx' # 替换为你的文件路径 wb = excel.Workbooks.Open(file_path) sheet = wb.Sheets("Sheet1") # 获取 Sheet1 # 确保当前是 Sheet1 激活状态 sheet.Activate() # 对 B 列进行自动筛选 sheet.Rows(1).AutoFilter() # 假设第一行是标题行 # 筛选 B 列中指定内容(港南区、平南县等) filter_values = ["覃塘区"] sheet.Range("B1").AutoFilter(Field=2, Criteria1=filter_values, Operator=7) # Operator=7 表示 OR 多条件筛选 # 等待 Excel 刷新界面(截图前确保筛选完成) time.sleep(1) # 定义截图区域(如 A1:M100) range_to_capture = sheet.Range("A1:M100") # 根据你的实际表格范围修改 # 将区域复制为图片 range_to_capture.CopyPicture( Appearance=1, # xlScreen Format=2 # xlPicture ) # 新建一个工作表粘贴图片(或可以使用其他方式导出为图片文件) sheet.Paste() image = ImageGrab.grabclipboard() # 保存图片到本地 output_folder = r'C:\Users\Lt\Desktop\test\tuisong' # 替换为你想保存图片的路径 os.makedirs(output_folder, exist_ok=True) image_path = os.path.join(output_folder, '覃塘区.png') image.save(image_path) # 可选:将图片导出为图片文件(需要额外操作) # 由于 win32com 无法直接保存剪贴板图片为文件,建议手动复制保存或使用 pywin32 + PIL 从屏幕截图 # 保存并关闭 output_path = r'C:\Users\Lt\Desktop\test\tuisong\覃塘区.xlsx' wb.SaveAs(output_path) wb.Close() excel.Quit() print(f"✅ 筛选覃塘区并截图完成,结果已粘贴至 Excel 文件。") # 启动 Excel 应用程序 excel = win32.Dispatch("Excel.Application") excel.Visible = True # 必须设为 True 才能截图 excel.DisplayAlerts = False # 禁止弹窗 # 打开工作簿 file_path = r'C:\Users\Lt\Desktop\test\your_excel_file_fixed_width_with_border.xlsx' # 替换为你的文件路径 wb = excel.Workbooks.Open(file_path) sheet = wb.Sheets("Sheet1") # 获取 Sheet1 # 确保当前是 Sheet1 激活状态 sheet.Activate() # 对 B 列进行自动筛选 sheet.Rows(1).AutoFilter() # 假设第一行是标题行 # 筛选 B 列中指定内容(港南区、平南县等) filter_values = ["平南县"] sheet.Range("B1").AutoFilter(Field=2, Criteria1=filter_values, Operator=7) # Operator=7 表示 OR 多条件筛选 # 等待 Excel 刷新界面(截图前确保筛选完成) time.sleep(1) # 定义截图区域(如 A1:M100) range_to_capture = sheet.Range("A1:M100") # 根据你的实际表格范围修改 # 将区域复制为图片 range_to_capture.CopyPicture( Appearance=1, # xlScreen Format=2 # xlPicture ) # 新建一个工作表粘贴图片(或可以使用其他方式导出为图片文件) sheet.Paste() image = ImageGrab.grabclipboard() # 保存图片到本地 output_folder = r'C:\Users\Lt\Desktop\test\tuisong' # 替换为你想保存图片的路径 os.makedirs(output_folder, exist_ok=True) image_path = os.path.join(output_folder, '平南县.png') image.save(image_path) # 可选:将图片导出为图片文件(需要额外操作) # 由于 win32com 无法直接保存剪贴板图片为文件,建议手动复制保存或使用 pywin32 + PIL 从屏幕截图 # 保存并关闭 output_path = r'C:\Users\Lt\Desktop\test\tuisong\平南县.xlsx' wb.SaveAs(output_path) wb.Close() excel.Quit() print(f"✅ 筛选平南县并截图完成,结果已粘贴至 Excel 文件。") # 启动 Excel 应用程序 excel = win32.Dispatch("Excel.Application") excel.Visible = True # 必须设为 True 才能截图 excel.DisplayAlerts = False # 禁止弹窗 # 打开工作簿 file_path = r'C:\Users\Lt\Desktop\test\your_excel_file_fixed_width_with_border.xlsx' # 替换为你的文件路径 wb = excel.Workbooks.Open(file_path) sheet = wb.Sheets("Sheet1") # 获取 Sheet1 # 确保当前是 Sheet1 激活状态 sheet.Activate() # 对 B 列进行自动筛选 sheet.Rows(1).AutoFilter() # 假设第一行是标题行 # 筛选 B 列中指定内容(港南区、平南县等) filter_values = ["桂平市"] sheet.Range("B1").AutoFilter(Field=2, Criteria1=filter_values, Operator=7) # Operator=7 表示 OR 多条件筛选 # 等待 Excel 刷新界面(截图前确保筛选完成) time.sleep(1) # 定义截图区域(如 A1:M100) range_to_capture = sheet.Range("A1:M100") # 根据你的实际表格范围修改 # 将区域复制为图片 range_to_capture.CopyPicture( Appearance=1, # xlScreen Format=2 # xlPicture ) # 新建一个工作表粘贴图片(或可以使用其他方式导出为图片文件) sheet.Paste() image = ImageGrab.grabclipboard() # 保存图片到本地 output_folder = r'C:\Users\Lt\Desktop\test\tuisong' # 替换为你想保存图片的路径 os.makedirs(output_folder, exist_ok=True) image_path = os.path.join(output_folder, '桂平市.png') image.save(image_path) # 可选:将图片导出为图片文件(需要额外操作) # 由于 win32com 无法直接保存剪贴板图片为文件,建议手动复制保存或使用 pywin32 + PIL 从屏幕截图 # 保存并关闭 output_path = r'C:\Users\Lt\Desktop\test\tuisong\桂平市.xlsx' wb.SaveAs(output_path) wb.Close() excel.Quit() print(f"✅ 筛选桂平市并截图完成,结果已粘贴至 Excel 文件。") try: # 启动 Excel 应用 excel = win32.Dispatch("Excel.Application") excel.Visible = False excel.DisplayAlerts = False excel.ScreenUpdating = False # 打开 Excel 文件(请根据实际路径修改) file_path = r'C:\Users\Lt\Desktop\test\通报_美化后.xlsx' workbook = excel.Workbooks.Open(file_path) # 获取 "通报" 子表 sheet = workbook.Sheets("通报") # 获取数据区域 used_range = sheet.UsedRange # 复制数据区域为图片(xlScreen = 1, xlPicture = 2) used_range.CopyPicture(Appearance=1, Format=2) # 创建临时图表用于粘贴图片 chart_obj = sheet.ChartObjects().Add( Left=0, Top=0, Width=used_range.Width, Height=used_range.Height ) chart = chart_obj.Chart chart.Paste() # 粘贴图片到图表 # 设置图片保存路径(请根据实际路径修改) output_path = r'C:\Users\Lt\Desktop\test\tuisong\通报_截图.png' # 导出图表为图片 chart.Export(output_path, "PNG") # 清理资源 chart_obj.Delete() workbook.Close(SaveChanges=False) excel.Quit() print(f"✅ 数据截图已成功保存为:{output_path}") except Exception as e: print("❌ 出现错误:", str(e))优化并且保留通报截图
最新发布
09-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值