أكواد Excel و Google Sheets، أتمتة البيانات
أكواد Python وGoogle Apps Script لأتمتة Excel وSheets: قراءة، تحليل، توليد تقارير، دمج مع AI — Excel وGoogle Sheets أدوات كل مهنيّ.
Excel وGoogle Sheets أدوات كل مهنيّ. أتمتتها توفّر ساعات. هذه أكواد جاهزة.
Python + Excel (openpyxl)
قراءة Excel
from openpyxl import load_workbook
wb = load_workbook("sales.xlsx")
sheet = wb["Q3"]
# قراءة خلية
value = sheet["A1"].value
# قراءة نطاق
for row in sheet["A2:D10"]:
for cell in row:
print(cell.value)
# قراءة كل الصفوف
for row in sheet.iter_rows(min_row=2, values_only=True):
print(row) # tuple of values
كتابة Excel
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill
wb = Workbook()
sheet = wb.active
sheet.title = "التقرير"
# رأس الجدول
headers = ["الاسم", "المبلغ", "التاريخ"]
sheet.append(headers)
# تنسيق الرأس
for col in range(1, 4):
cell = sheet.cell(row=1, column=col)
cell.font = Font(bold=True, color="FFFFFF")
cell.fill = PatternFill("solid", fgColor="1F4E78")
# البيانات
data = [
("أحمد", 5000, "2026-09-01"),
("سارة", 3200, "2026-09-02"),
]
for row in data:
sheet.append(row)
# حفظ
wb.save("report.xlsx")
Formulas
sheet["E1"] = "الإجمالي"
sheet["E2"] = "=SUM(B2:B10)"
sheet["E3"] = "=AVERAGE(B2:B10)"
sheet["E4"] = "=MAX(B2:B10)"
Python + Excel (pandas، أقوى)
قراءة كل sheet
import pandas as pd
# sheet واحد
df = pd.read_excel("sales.xlsx", sheet_name="Q3")
# كل الـsheets
all_sheets = pd.read_excel("sales.xlsx", sheet_name=None)
for name, df in all_sheets.items():
print(f"{name}: {len(df)} صفوف")
تحليل سريع
# إحصاءات
print(df.describe())
# فلترة
top_customers = df[df["amount"] > 10000].sort_values("amount", ascending=False)
# تجميع
by_region = df.groupby("region").agg({
"amount": ["sum", "mean", "count"],
"customer_id": "nunique"
})
# Pivot Table
pivot = df.pivot_table(
index="region",
columns="product",
values="amount",
aggfunc="sum"
)
كتابة متعدّد Sheets
with pd.ExcelWriter("report.xlsx", engine="openpyxl") as writer:
top_customers.to_excel(writer, sheet_name="أفضل العملاء", index=False)
by_region.to_excel(writer, sheet_name="حسب المنطقة")
pivot.to_excel(writer, sheet_name="جدول محوري")
Python + Google Sheets (gspread)
الإعداد
- أنشئ Service Account في Google Cloud Console
- حمّل credentials.json
- شارك الـSheet مع email الـService Account
import gspread
from google.oauth2.service_account import Credentials
scopes = ["https://www.googleapis.com/auth/spreadsheets"]
creds = Credentials.from_service_account_file("credentials.json", scopes=scopes)
gc = gspread.authorize(creds)
# افتح Sheet
sheet = gc.open("my-sheet").sheet1
# قراءة
all_values = sheet.get_all_values()
records = sheet.get_all_records() # كـdict
# كتابة
sheet.update("A1", [["الاسم", "المبلغ"]])
sheet.append_row(["أحمد", 5000])
# تحديث خلية واحدة
sheet.update_cell(2, 3, "قيمة جديدة")
Google Apps Script (داخل Sheets)
Apps Script يعمل داخل Sheets نفسه (Extensions → Apps Script).
تنسيق تلقائي
function formatSheet() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange("A1:E1");
range.setFontWeight("bold");
range.setBackground("#1F4E78");
range.setFontColor("#FFFFFF");
sheet.autoResizeColumns(1, 5);
}
توليد تقرير أسبوعي
function weeklyReport() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
const data = sheet.getDataRange().getValues();
const lastWeek = new Date();
lastWeek.setDate(lastWeek.getDate() - 7);
const recent = data.filter(row => new Date(row[0]) >= lastWeek);
const total = recent.reduce((sum, row) => sum + row[2], 0);
// إرسال إيميل
MailApp.sendEmail({
to: "you@example.com",
subject: "تقرير الأسبوع",
body: `إجمالي هذا الأسبوع: ${total} ريال\nعدد المعاملات: ${recent.length}`
});
}
تشغيل تلقائي (Trigger)
في Apps Script: Triggers → Add Trigger → weeklyReport → Time-driven → Weekly.
دمج مع OpenAI في Sheets
function askGPT(prompt) {
const url = "https://api.openai.com/v1/chat/completions";
const payload = {
model: "gpt-5.6-luna",
messages: [{role: "user", content: prompt}]
};
const response = UrlFetchApp.fetch(url, {
method: "post",
contentType: "application/json",
headers: {"Authorization": "Bearer YOUR_API_KEY"},
payload: JSON.stringify(payload)
});
return JSON.parse(response.getContentText()).choices[0].message.content;
}
// استخدم داخل خلية Sheets: =askGPT("لخّص هذا النصّ: " & A1)
دمج AI مع Excel
تلخيص عمود نصوص
import pandas as pd
from openai import OpenAI
client = OpenAI(api_key="sk-...")
def summarize_text(text: str) -> str:
response = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[
{"role": "system", "content": "لخّص في جملة واحدة."},
{"role": "user", "content": text}
]
)
return response.choices[0].message.content
df = pd.read_excel("reviews.xlsx")
df["summary"] = df["review_text"].apply(summarize_text)
df.to_excel("reviews_summarized.xlsx", index=False)
تصنيف مشاعر
def classify_sentiment(text: str) -> str:
response = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[
{"role": "system", "content": "صنّف: positive / negative / neutral. الجواب فقط."},
{"role": "user", "content": text}
]
)
return response.choices[0].message.content.strip()
df["sentiment"] = df["review"].apply(classify_sentiment)
أمثلة عملية سعودية
توليد فواتير من CSV
import pandas as pd
from openpyxl import Workbook
from datetime import datetime
customers = pd.read_csv("orders.csv")
for _, row in customers.iterrows():
wb = Workbook()
ws = wb.active
ws["A1"] = "فاتورة"
ws["A3"] = f"العميل: {row['name']}"
ws["A4"] = f"التاريخ: {datetime.now().strftime('%Y-%m-%d')}"
ws["A5"] = f"المبلغ: {row['amount']} ريال"
ws["A6"] = f"ضريبة القيمة المضافة (15%): {row['amount'] * 0.15}"
ws["A7"] = f"الإجمالي: {row['amount'] * 1.15}"
wb.save(f"invoices/invoice_{row['order_id']}.xlsx")
تقرير موحّد من عدّة ملفّات
import pandas as pd
from pathlib import Path
dfs = []
for file in Path("branches/").glob("*.xlsx"):
df = pd.read_excel(file)
df["branch"] = file.stem
dfs.append(df)
combined = pd.concat(dfs, ignore_index=True)
combined.to_excel("all_branches.xlsx", index=False)
summary = combined.groupby("branch")["sales"].agg(["sum", "mean", "count"])
summary.to_excel("summary.xlsx")
نصائح ذهبية
- pandas أقوى من openpyxl، للتحليل
- openpyxl أفضل للتنسيقات، الألوان، الحدود
- gspread للسحابة، تكامل مع Google
- Apps Script للأتمتة داخل Sheets، بلا خادم خارجي
- AI + Sheets، قوّة قاتلة، حذر بالتكاليف
المصادر الرسمية
أدوات AI مدمجة في Excel و Sheets
بعض الأدوات الحديثة تُغني عن الكود بالكامل لمهامّ AI في جداول البيانات:
- Copilot in Excel: مساعد AI من Microsoft داخل Excel، يولّد صيغاً، يحلّل بيانات، ويقترح رسوم بيانية.
- Google Sheets Gemini: نسخة Gemini المدمجة في Google Sheets تكتب صيغاً وترجم الأعمدة وتُنشئ رسوماً.
- GPT for Sheets: إضافة Google Sheets تسمح باستدعاء ChatGPT من داخل الخلايا بدالة
=GPT("your prompt"). - Claude for Excel: إضافة (add-in) متاحة الآن لمشتركي Pro وMax وTeam وEnterprise، تعمل داخل الملف مباشرة (تحليل، تصحيح صيغ، بناء نماذج)، وتدعم موصلات MCP لجلب بيانات خارجية.
اختيارك بين الكود والأداة الجاهزة يعتمد على تكراريّة المهمّة — الكود أفضل للأتمتة اليومية، والأدوات الجاهزة أفضل للمهامّ العرضية.
اقرأ أيضاً: أفضل ١٠ أكواد Python · أكواد أتمتة يومية · Web Scraping، دليل · OpenAI API، دليل البدء
الأسئلة الشائعة
Python مع pandas وopenpyxl الأفضل للأتمتة المحلية. Google Apps Script لـSheets السحابية. Power Automate للتكاملات Microsoft.
نعم، Microsoft أطلقت Python in Excel (2024) للمشتركين. يعمل داخل خلية عبر PY(). للأتمتة المكثّفة، Python خارجي أقوى.
ضمن سلسلة: أكواد وأتمتة جاهزة
المقال 8 من 9مقاطع كود جاهزة: بايثون، جافاسكربت، React، SQL، Git، وأتمتة المهام اليومية.
- 1.أفضل 10 أكواد Python يبحث عنها المطوّرونالدليل الشامل
- 2.أفضل أكواد JavaScript يبحث عنها المطوّرون
- 3.أكواد React و Next.js الأساسية 2026
- 4.أكواد HTML و CSS الأساسية، مكتبة المطوّر
- 5.أكواد SQL جاهزة، أشهر 20 استعلاماً يبحث عنها المطوّر
- 6.أكواد Git الأساسية، أوامر كل مطوّر يحتاجها
- 7.أكواد Bash و PowerShell، أتمتة سطر الأوامر
- 8.أكواد Excel و Google Sheets، أتمتة البيانات
- 9.أكواد أتمتة يومية، ادخل عصر الـAutomation
مقالات ذات صلة
الذكاء الاصطناعي للأمّهات والآباء، دليل عملي
كيف يستفيد الأمّهات والآباء من AI: إدارة البيت، تعليم الأطفال، الصحّة، الطبخ، بحذر أخلاقي.
Cursor، محرّر الكود الذكيّ للمطوّرين
دليل لـCursor: التثبيت، الميّزات (Tab، Composer، Agent Mode)، مقارنة مع VS Code وWindsurf — @auth.py @models/user.py أضف endpoint POST /forgot-password…
أكواد أتمتة يومية، ادخل عصر الـAutomation
مجموعة أكواد Python وBash لأتمتة مهامّك اليومية: ملفّات، إيميلات، تقارير، مواعيد.
دليل السفر إلى كوالالمبور من السعودية ٢٠٢٦، أفضل وقت والفيزا
متى تزور كوالالمبور، إعفاء الفيزا للسعودي ٩٠ يوماً، موسم الرياح الموسمية، وأبرز معالمها — دليل عملي بجداول طقس حقيقية وروابط طيران وفنادق.
التسجيل الموحّد لوزارة الداخلية السعودية ٢٠٢٦: الأمن العام، الجوازات، المرور، الدفاع المدني
دليل التقديم في القطاعات الأمنية بوزارة الداخلية السعودية عبر البوّابة الموحّدة — الأمن العام، الجوازات، المرور، الدفاع المدني، الأمن الدبلوماسي، وحرس الحدود.
متى الراتب القادم؟ جدول رواتب ودعم السعودية ٢٠٢٦
اعرف تاريخ راتبك القادم فوراً. جدول محدَّث بمواعيد رواتب الحكومة والمتقاعدين وحساب المواطن والضمان المطوّر ٢٠٢٦-٢٠٢٧، ميلادي وهجري.