مقالات
الذكاء الاصطناعي

أكواد Excel و Google Sheets، أتمتة البيانات

أكواد Python وGoogle Apps Script لأتمتة Excel وSheets: قراءة، تحليل، توليد تقارير، دمج مع AI — Excel وGoogle Sheets أدوات كل مهنيّ.

٣ سبتمبر ٢٠٢٦ 5 دقيقة قراءة

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)

الإعداد

  1. أنشئ Service Account في Google Cloud Console
  2. حمّل credentials.json
  3. شارك الـ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")

نصائح ذهبية

  1. pandas أقوى من openpyxl، للتحليل
  2. openpyxl أفضل للتنسيقات، الألوان، الحدود
  3. gspread للسحابة، تكامل مع Google
  4. Apps Script للأتمتة داخل Sheets، بلا خادم خارجي
  5. 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. 1.أفضل 10 أكواد Python يبحث عنها المطوّرونالدليل الشامل
  2. 2.أفضل أكواد JavaScript يبحث عنها المطوّرون
  3. 3.أكواد React و Next.js الأساسية 2026
  4. 4.أكواد HTML و CSS الأساسية، مكتبة المطوّر
  5. 5.أكواد SQL جاهزة، أشهر 20 استعلاماً يبحث عنها المطوّر
  6. 6.أكواد Git الأساسية، أوامر كل مطوّر يحتاجها
  7. 7.أكواد Bash و PowerShell، أتمتة سطر الأوامر
  8. 8.أكواد Excel و Google Sheets، أتمتة البيانات
  9. 9.أكواد أتمتة يومية، ادخل عصر الـAutomation

مقالات ذات صلة

الذكاء الاصطناعي

الذكاء الاصطناعي للأمّهات والآباء، دليل عملي

كيف يستفيد الأمّهات والآباء من AI: إدارة البيت، تعليم الأطفال، الصحّة، الطبخ، بحذر أخلاقي.

4 سبتمبر 2026 8 د
الذكاء الاصطناعي

Cursor، محرّر الكود الذكيّ للمطوّرين

دليل لـCursor: التثبيت، الميّزات (Tab، Composer، Agent Mode)، مقارنة مع VS Code وWindsurf — @auth.py @models/user.py أضف endpoint POST /forgot-password…

4 سبتمبر 2026 8 د
الذكاء الاصطناعي

أكواد أتمتة يومية، ادخل عصر الـAutomation

مجموعة أكواد Python وBash لأتمتة مهامّك اليومية: ملفّات، إيميلات، تقارير، مواعيد.

3 سبتمبر 2026 5 د
السفر والسياحة

دليل السفر إلى كوالالمبور من السعودية ٢٠٢٦، أفضل وقت والفيزا

متى تزور كوالالمبور، إعفاء الفيزا للسعودي ٩٠ يوماً، موسم الرياح الموسمية، وأبرز معالمها — دليل عملي بجداول طقس حقيقية وروابط طيران وفنادق.

17 سبتمبر 2026 4 د
العمل والتوظيف

التسجيل الموحّد لوزارة الداخلية السعودية ٢٠٢٦: الأمن العام، الجوازات، المرور، الدفاع المدني

دليل التقديم في القطاعات الأمنية بوزارة الداخلية السعودية عبر البوّابة الموحّدة — الأمن العام، الجوازات، المرور، الدفاع المدني، الأمن الدبلوماسي، وحرس الحدود.

12 سبتمبر 2026 6 د
التقويم والمناسبات

متى الراتب القادم؟ جدول رواتب ودعم السعودية ٢٠٢٦

اعرف تاريخ راتبك القادم فوراً. جدول محدَّث بمواعيد رواتب الحكومة والمتقاعدين وحساب المواطن والضمان المطوّر ٢٠٢٦-٢٠٢٧، ميلادي وهجري.

29 أغسطس 2026 8 د

هل أفادك هذا المقال؟