התקנת הספרייה
התקנת הספרייה ClosedXML.
מימוש פעולת הייצוא
נוסיף כפתור / קישור אשר בלחיצה עליו נקרא לפעולה בה יתבצע ייצוא הנתונים. מימוש הפעולה:
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;