15 Ocak 2017 Pazar

Excel Workbook Sınıfı

Giriş
Bu sınıf tüm WorkBook'ları içeren bir dizidir.

Constructor
Mevcut nesneye erişmek için şöyle yaparız.
var wbks = appl.Workbooks;
ActiveChart Alanı
Excel'deki bir chart clipboard'a şöyle kopyalanır.
wb.ActiveChart.CopyPicture(XlPictureAppearance.xlScreen, 
                           XlCopyPictureFormat.xlBitmap);
Add metodu
Boş bir Excel'e Workbook Workbook eklemek için şöyle yaparız.
Excel.Application appl = ...;
Excel.Workbook xlWorkBook;

object misValue = System.Reflection.Missing.Value;

xlWorkBook = appl.Workbooks.Add(misValue);
Şöyle yaparız.
object missing = Type.Missing;
Excel.Workbook wb = app.Workbooks.Add(missing);
Close metodu
Bu konudan emin değilim ancak sanırım Workbooks kapatılsa iyi olur.
wb.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
ExportAs metodu
PDF olarak kaydetmemizi sağlar. İkinci parametre quality anlamında bir string
wb.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, 
                       ExportExcelToPdfFullPathWithoutExt);
Open metodu
Şöyle yaparız
var filePath = ...;
var wbook = wbks.Open(filePath);
Sadece ilk parametre zorunlu diğer parametreler isteğe bağlı. Şöyle yaparız.
Workbook wb = app.Workbooks.Open(filePath, 0, true, 5, "", "", true, 
XlPlatform.xlWindows, "\t", false, false, 0, true, 1, XlCorruptLoad.xlNormalLoad);
SaveAs metodu
Şöyle yaparız.
wb.SaveAs(saveAsLocation);
xls formatında kaydetmek istersek şöyle yaparız.
wb.SaveAs("d:\\vdfgdfg.xls",
 Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
 Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue,
 misValue);
xlsx formatında kaydetmek istersek şöyle yaparız.
object missing = Type.Missing;
wb.SaveAs(saveAsLocation, XlFileFormat.xlOpenXMLWorkbook,
             missing, missing, missing, missing,
             XlSaveAsAccessMode.xlNoChange,
             missing, missing, missing, missing, missing);
Sheets Alanı
Şöyle dolaşırız. ComLinq harici bir kütüphane metodu.
foreach (Worksheet worksheet in wb.Sheets.ComLinq<Worksheet>())
{
    if (worksheet.Name == "Sheet2") worksheet.Activate();
}
WorkSheets Alanı
Şöyle yaparız.
DataTable dt = ...;
var ws = wb.Worksheets.Add (dt.TableName);

Hiç yorum yok:

Yorum Gönder