این سایت برای ie9 طراحی نشده است

لطفا دستگاه خود را بچرخانید.

ساخت فایل اکسل با استفاده از OfficeOpenXML و ذخیره ی آن با فرمت PDF در #C

۲۶ آبان ۱۳۹۴ راحله عباسی فشمی
بدون دیدگاه

در قطعه کد زیر نحوه ی ساخت بک داکیومنت اکسل با استفاده از OfficeOpenXML در سی شارپ با ذکر توضیح آورده شده است.

 

 ExcelPackage p = new ExcelPackage();                    
 ExcelWorksheet ws = p.Workbook.Worksheets[1];

 ws.View.RightToLeft = true; //تنظیم نمایش شیت مورد نظر به صورت راست به چپ   

 ws.Cells.Style.Font.Name = "B Nazanin"; //تعیین نوع فونت برای کل شیت اکسل

 ws.Cells.Style.Font.Size = 11; //تعیین سایز فونت برای شیت مورد نظر

 ws.Row(1).Height = 30;  // تعیین ارتفاع سطر اول
 ws.Row(1).Style.Font.Name = "B Titr";  //تعیین  فونت سطر اول
 ws.Row(1).Style.Font.Size = 9;     // تعیین سایز فونت سطر اول

 ws.Column(1).Width = 16;  //تعیین عرض ستون اول
 ws.Column(2).Width = 12;                  
                    
 ws.Cells[1, 1].Value = "ردیف";                                   
 ws.Cells[1, 2].Value = "نام و نام خانوادگی"; 
 ws.Cells[1, 3].Value = "ساعت ورود"; 
 ws.Cells[1, 4].Value = "ساعت خروج"; 

 ws.Cells[3, 1].Value = "توضیحات"; // Heading Name
 ws.Cells[3, 1, rows.Count + 6, 13].Merge = true; //ادغام سلولها در محدوده ی تعیین شده
 ws.Cells[3, 1, rows.Count + 6, 13].Style.Font.Bold = true; //تعیین فونت محدوده ی تعیین شده به صورت قلم درشت
 ws.Cells[3, 1, rows.Count + 6, 13].Style.Border.BorderAround(ExcelBorderStyle.Thick, Color.Black); // اضافه کردن بوردر ضخیم دور سلولها در محدوده ی تعیین شده
 ws.Cells[3, 1, rows.Count + 6, 13].Style.HorizontalAlignment = ExcelHorizontalAlignment.Right; // راست چین کردن متن سلولها
 ws.Cells[3, 1, rows.Count + 6, 13].Style.VerticalAlignment = ExcelVerticalAlignment.Top;               
 

 for (int i = 2; i < 13; i += 2)
 {
     for (int j = 1; j < 2; j++)
     {
         var fill = ws.Cells[j, i].Style.Fill;
         fill.PatternType = ExcelFillStyle.Solid;
         fill.BackgroundColor.SetColor(Color.LightGray);   //تغییر رنگ پیش زمینه ی سلول مورد نظر به رنگ خاکستری روشن
     }
 }                                                     
      
// ذخیره ی فایل اکسل ایجاد شده           
 FileStream fs = new FileStream("filename", FileMode.OpenOrCreate, FileAccess.Write);                    
 p.SaveAs(fs);

 fs.Close();


 Workbook workbook = new Workbook();
 //لود کردن فایل اکسل   
 workbook.LoadFromFile(filename);
 workbook.ActiveSheet.PageSetup.Orientation = PageOrientationType.Landscape;
 workbook.ActiveSheet.Range["A1:z1000"].Style.Font.FontName = "B Nazanin";
 // string filename2 = AppDomain.CurrentDomain.BaseDirectory + userID + DateTime.Now.Millisecond.ToString() + ".pdf";
 string filename2 = "نام فایل.pdf";
                 
 //Save excel file to pdf file.   
 workbook.SaveToFile(@"C:\آدرس دلخواه جهت ذخیره سازی فایل پی دی اف\"+filename2, Spire.Xls.FileFormat.PDF);