→ חזרה לעמוד הקודם
// סיכום וחומר לימוד

ייצוא נתונים לקובץ אקסל

פרויקט הנדסת תוכנהבונוסים ותוספות לפרויקט

התקנת הספרייה

התקנת הספרייה ClosedXML.

חיפוש והתקנת חבילת ClosedXML במנהל חבילות NuGet

מימוש פעולת הייצוא

נוסיף כפתור / קישור אשר בלחיצה עליו נקרא לפעולה בה יתבצע ייצוא הנתונים. מימוש הפעולה:

private async void ExportToExcel_Click(object sender, MouseButtonEventArgs e)
{
    try
    {
        // 1. שליפת הנתונים מהשרת (דוגמה)
        List<UserDto>? users = await ManagerApiService.GetUsers();

        // 2. יצירת קובץ אקסל חדש
        using (var workbook = new XLWorkbook())
        {
            var worksheet = workbook.Worksheets.Add("Users");

            // 3. כותרות
            worksheet.Cell(1, 1).Value = "ID";
            worksheet.Cell(1, 2).Value = "Username";
            worksheet.Cell(1, 3).Value = "Mail";
            worksheet.Cell(1, 4).Value = "Registration Date";

            // עיצוב כותרות
            var headerRow = worksheet.Row(1);
            headerRow.Style.Font.Bold = true;
            headerRow.Style.Fill.BackgroundColor = XLColor.LightBlue;

            // 4. מילוי הנתונים
            for (int i = 0; i < users.Count; i++)
            {
                worksheet.Cell(i + 2, 1).Value = users[i].UserId;
                worksheet.Cell(i + 2, 2).Value = users[i].Username;
                worksheet.Cell(i + 2, 3).Value = users[i].Mail;
                worksheet.Cell(i + 2, 4).Value = users[i].RegistrationDate;
            }

            // התאמה אוטומטית של רוחב העמודות
            worksheet.Columns().AdjustToContents();

            // 5. שמירת הקובץ
            Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog.Filter = "Excel Files|*.xlsx";
            saveFileDialog.FileName = "UserList.xlsx";

            if (saveFileDialog.ShowDialog() == true)
            {
                workbook.SaveAs(saveFileDialog.FileName);
                MessageBox.Show("הקובץ נשמר בהצלחה!", "ייצוא לאקסל",
                    MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show($"שגיאה בייצוא הנתונים: {ex.Message}");
    }
}

הוספת using

בתחילת העמוד נוסיף:

using ClosedXML.Excel;
הורדת הקובץ המקוריPDF · ייצוא נתונים לקובץ אקסל