Günü Sözü

"Hiçbir şey bilmeyen cahildir, ama bilip de susan ahlaksızdır. " Bertolt Brecht.
"İyilik yapabildiğim zaman mutlu olurum; ama en büyük mutluluk yapılan bir haksızlığı düzeltmektir." Tolstoy

1 Mart 2014 Cumartesi

AX 2012 kod ile excel e veri gönderme (sent to excel with code in ax 2012)

Buton click eventi ile gönderdim;
void clicked()
{

SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
SysExcelCell cell;
SysExcelFont font;
int row;

Name _firmaadiadresi;
str fileName;

 if(!element.args().caller())
throw error('Cant Run Directly');

if(element.args().record().TableId == tablenum(qqq))
{
 _firmaadiadresi= CustTable::find(qqq.InvoiceAccount).name()+" "+ CustAddress();
}
 fileName = "C:\\Test.xlsx";
application = SysExcelApplication::construct();
workbooks = application.workbooks();

workbooks.open(fileName); // networkden  // workbooks.open("\\\\192.168.1...\\test.xlsx";
workbook =workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
  //  cell = cells.item(26,1);
  //  cell.value(_firmaadiadresi);
    cells.item(17,1).value(_firmaadiadresi);
    font = cell.font();
    font.bold(true);
application.visible(true);
}
* qqq ile yzılan yere tablomuzu yazalım
static void koddanExcel(Args _args)
{
   SysExcelApplication  xlsApplication;
   SysExcelWorkBooks    xlsWorkBookCollection;
   SysExcelWorkBook     xlsWorkBook;
   SysExcelWorkSheets   xlsWorkSheetCollection;
   SysExcelWorkSheet    xlsWorkSheet;
   SysExcelRange        xlsRange;
   CustTable            custTable;
   int                  row = 1;
   str                  fileName;
   ;
   //Filename
   fileName = "C:\\Test.xlsx";
   //Initialize Excel instance
   xlsApplication           = SysExcelApplication::construct();
   //Open Excel document
   //xlsApplication.visible(true);
   //Create Excel WorkBook and WorkSheet
   xlsWorkBookCollection    = xlsApplication.workbooks();
   xlsWorkBook              = xlsWorkBookCollection.add();
   xlsWorkSheetCollection   = xlsWorkBook.worksheets();
   xlsWorkSheet             = xlsWorkSheetCollection.itemFromNum(1);
   //Excel columns captions
   xlsWorkSheet.cells().item(row,1).value("Account Num");
   xlsWorkSheet.cells().item(row,2).value("Name");
   row++;
   //Fill Excel with CustTable AccountNum and Name fields (only 10 records)
// custtable accountNum ve name alanlarından sadece 10 kayıt
   while select custTable
   {
      if(row == 10)
        break;
      xlsWorkSheet.cells().item(row,1).value(custTable.AccountNum);
      xlsWorkSheet.cells().item(row,2).value(custTable.Name);
      row++;
   }
   //dosya adını kontrol varsa sil
   if(WinApi::fileExists(fileName))
      WinApi::deleteFile(fileName);
   //excel dökümanını kaydedelim
   xlsWorkbook.saveAs(fileName);
   //açalım
   xlsApplication.visible(true);
   //kapatmak istersek
   //xlsApplication.quit();
   //xlsApplication.finalize();
}