Buscar en este blog

viernes, 20 de enero de 2012

Leer Exel con Dynamics Ax 2009

Saliendo un poco de la línea del blog, les dejo cómo leer un archivo excel desde un Job de Dynamics Ax 2009, no lo explico a detalle porque la codificación es muy simple, es un ejemplo probado, así que basta con que lo copien, modfiquen la ruta de su archivo de excel y listo!!
Espero les sea útil...



static void LeeExcel(Args _args)
{
    SysExcelApplication application;
    SysExcelWorkbooks workbooks;
    SysExcelWorkbook workbook;
    SysExcelWorksheets worksheets;
    SysExcelWorksheet worksheet;
    SysExcelCells cells;
    COMVariantType type;
    int filaInicial;
    int row;
    ItemId itemid;
    UnitID unitID;
    PriceUnit priceUnit;
    FileName nombreArchivo;
    ;
    application = SysExcelApplication::construct();
    workbooks = application.workbooks();
    nombreArchivo = "C:\\PlantillaPrecios.xls";
    try
    {
        workbooks.open(nombreArchivo);
        filaInicial = 1;
        workbook = workbooks.item(1);
        worksheets = workbook.worksheets();
        worksheet = worksheets.itemFromNum(1);
        cells = worksheet.cells();
        row = filaInicial;
        do
        {
            row++;
            itemId = cells.item(row, 1).value().bStr();
            unitID = cells.item(row, 2).value().bStr();
            priceUnit = cells.item(row, 3).value().double();
            info(strfmt('%1 - %2 - $%3', itemId, unitID, priceUnit));
            type = cells.item(row+1, 1).value().variantType();
        }
        while (type != COMVariantType::VT_EMPTY);
        application.quit();
    }
    catch (Exception::Error)
    {
        throw error("El archivo no abrio correctamente, intente de nuevo.");
    }
}