בניית עורך גיליונות אלקטרוניים מקוון שמטפל בעשרות אלפי שורות ובנוסחאות מורכבות היא אתגר הנדסי לא טריוויאלי. פתרונות מוכנים מראש חסרים גמישות — שילובם ב-CRM, הוספת פונקציות מותאמות אישית, או התאמה לצרכים עסקיים ספציפיים היא כמעט בלתי אפשרית. אנו בונים מערכת מאפס המותאמת לתרחיש שלך, עם וירטואליזציה, מנוע נוסחאות ושיתוף פעולה בזמן אמת. לצוות שלנו יש ניסיון של למעלה מ-8 שנים והוא סיפק 20+ פרויקטים מוצלחים. חיסכון בעלויות רישוי בהשוואה ל-AG Grid Enterprise יכול להגיע ל-40%, עם תקופת החזר ממוצעת של 6–9 חודשים. פתרונות מותאמים אישית נעים בדרך כלל בין $15,000 לעורך בסיסי ל-$50,000+ לכלי שיתוף פעולה מלאים, ויכולים לחסוך ללקוחות $20,000–$80,000 בשנה בעמלות רישוי. אנו יכולים להעריך את הפרויקט שלך תוך יום אחד.
וירטואליזציה של טבלאות גדולות — הסבר
טבלה עם 100,000 שורות לא יכולה להציג את כל רכיבי ה-DOM — הדפדפן יקפא. הפתרון הוא וירטואליזציה: הצגת שורות גלויות בלבד עם חיץ. אנו משתמשים בספריית ה-headless TanStack Virtual לשליטה מלאה בעיבוד, או ב-AG Grid עם וירטואליזציה ונוסחאות מובנות. בפרויקטים בעומס גבוה אנו משלבים AG Grid עם מנוע נוסחאות משלנו, ומשיגים 60 FPS יציבים אפילו במכשירים ניידים.
דוגמה לוירטואליזציה של שורות עם TanStack Virtual:
const rowVirtualizer = useVirtualizer({
count: rows.length,
getScrollElement: () => parentRef.current,
estimateSize: () => 24,
overscan: 10,
});
להשוואה בין ספריות פופולריות:
| ספרייה | וירטואליזציה | נוסחאות | שיתוף פעולה | רישיון |
|---|---|---|---|---|
| TanStack Virtual | כן (headless) | לא | לא | MIT |
| AG Grid | כן | מובנות | Enterprise | מסחרי |
| Handsontable | כן | HyperFormula | באמצעות כלים חיצוניים | MIT / מסחרי |
מנוע נוסחאות: מניתוח לחישוב מחדש
נוסחאות כמו const rowVirtualizer = useVirtualizer({ count: rows.length, getScrollElement: () => parentRef.current, estimateSize: () => 24, overscan: 10, }); דורשות מנתח וגרף תלות. אנו משתמשים ב-HyperFormula — מנוע TypeScript בקוד פתוח עם 400+ פונקציות תואמות Excel. הוא פועל גם בדפדפן וגם בשרת, ומאפשר חישוב נוסחאות כבדות באופן אסינכרוני. מעקב התלות של HyperFormula הוא עצלן: כאשר תא אחד משתנה, רק קבוצת התלויים המינימלית מחושבת מחדש.
למה CRDT עדיף על OT לעריכת שיתוף פעולה
טרנספורמציה אופרטיבית (OT) דורשת שרת מרכזי ועיבוד רציף — מה שגורם לעיכובים ולקשיים במצב לא מקוון. CRDT (סוגי נתונים משוכפלים נטולי קונפליקטים) מאפשר לכל לקוח לעבוד באופן עצמאי ולאחר מכן למזג שינויים ללא קונפליקטים. בגיליונות אלקטרוניים, אנו משתמשים ב-Yjs עם סוגים משותפים: =SUM(A1:B10) * C5 + IF(D1>0, E1, 0) לתאים. מידע נוסף על CRDT ניתן למצוא ב-ויקיפדיה.
const ydoc = new Y.Doc();
const cells = ydoc.getMap('cells');
const provider = new WebsocketProvider('ws://server', 'spreadsheet-123', ydoc);כאשר שני משתמשים עורכים את אותו תא בו-זמנית, עקרון Last Write Wins (LWW) המבוסס על שעונים לוגיים מבטיח שאין אובדן נתונים.
הוספת נוסחה מותאמת אישית לעורך
- צור פונקציית TypeScript, לדוגמה,
Y.Map - רשום אותה ב-HyperFormula באמצעות
const ydoc = new Y.Doc(); const cells = ydoc.getMap('cells'); const provider = new WebsocketProvider('ws://server', 'spreadsheet-123', ydoc); - בממשק המשתמש, הוסף כפתור שקורא ל-
const CUSTOM_FN = (a: number, b: number) => a * b; - בחישוב מחדש, המנוע מפעיל אוטומטית את הפונקציה שלך. כל התהליך אורך כשעתיים.
היסטוריית שינויים וביטול/ביצוע מחדש
אנו מיישמים ביטול/ביצוע מחדש באמצעות מחסנית פקודות. כל שינוי (הכנסת טקסט, עריכת נוסחה, עיצוב) מתועד כפקודה הפיכה. לשיתוף פעולה, אנו מבחינים בין פעולות עצמיות לפעולות של אחרים על ידי אחסון userId במטא-נתונים. עם 50+ משתמשים בו-זמנית, זמן התגובה נשאר מתחת ל-50 אלפיות השנייה.
ייבוא/ייצוא XLSX: מתחת למכסה המנוע
- SheetJS (xlsx) — קורא וכותב XLSX, XLS, CSV. פנימית הוא מנתח את ארכיון ה-XML, מחלץ תאים, עיצוב ונוסחאות (המאוחסנות כמחרוזות).
- ExcelJS — יוצר XLSX עם עיצוב מתקדם: תאים מאוחדים, עיצוב מותנה, תמונות.
בייבוא, נוסחאות מ-XLSX נשמרות כטקסט ומועברות ל-HyperFormula לחישוב בהצגה הראשונה.
תהליך העבודה: שלבים ולוחות זמנים
| שלב | משך | תוצר |
|---|---|---|
| ניתוח ואב-טיפוס | 2–4 שבועות | מפרט טכני, מוקאפ, בחירת מחסנית |
| עיצוב ארכיטקטורה | 1–2 שבועות | ERD, מפרט API, מפת רכיבים |
| פיתוח ליבה (וירטואליזציה, נוסחאות) | 4–8 שבועות | מנוע טבלה עובד |
| ממשק משתמש ואינטגרציה | 4–8 שבועות | ממשק משתמש, ייבוא/ייצוא, שיתוף פעולה |
| בדיקות והשקה | 2–4 שבועות | רגרסיה, בדיקות עומס, CI/CD |
מה כלול
אנו מספקים:
- קוד מקור של העורך ב-TypeScript (React/Angular/Vue לפי העדפתך)
- תיעוד API לאינטגרציה
- מדריך השקה (Docker, Nginx)
- הדרכת צוות (עד 5 שעות)
- תמיכה בשלב ההשקה (שבועיים)
מדדי ביצועים מרכזיים: תמיכה ב-100,000 שורות, 700+ נוסחאות, עיבוד ב-60 FPS, ואחריות ל-99.9% זמינות. לוח זמנים טיפוסי לטבלה מתמחה עם פונקציונליות בסיסית הוא 2–3 חודשים. עורך מלא עם שיתוף פעולה, ייבוא XLSX ו-200+ נוסחאות אורך 6–10 חודשים. אנו נותנים הערכה מדויקת לאחר ניתוח המקרה שלך.
טעויות נפוצות בפיתוח גיליונות אלקטרוניים מקוונים
- הערכת חסר של וירטואליזציה: ניסיון להציג את כל השורות מוביל לביצועים גרועים.
- שימוש ב-OT ללא גיבוי: ניתוק לקוח גורם לאובדן עריכות — CRDT פותר זאת.
- התעלמות משכבת הפורמט: ייבוא XLSX מאבד עיצוב, ומפחית את השימושיות.
צור איתנו קשר לייעוץ וקבל הערכת פרויקט תוך יום אחד. בקש פיתוח עורך גיליונות אלקטרוניים מקוון מותאם אישית — נבנה פתרון מאפס. עם המפתחים המוסמכים שלנו ואחריות לביצועים, אתה יכול לסמוך על הצלחת הפרויקט שלך.







