2016-11-04 6 views
0

엑셀 시트에서 AX로 가져옵니다. 따라서 프로세스 : Excel에서 레코드를 찾아 임시 테이블에 추가하고 그리드에 채 웁니다. 이것은 일어나는 과정입니다. 1400 레코드 미만의 레코드를 사용할 때 문제없이 그리드로 가져옵니다. 66000 개의 레코드를 가져올 때 위의 오류가 발생합니다. 누군가 제가 한 번에 60000 개의 레코드를 가져올 수 있도록해야한다고 제안 할 수 있습니까? 나는 엑시트를 재시작하여 온라인으로 제안 된 엑셀 시트를 새로 만들었습니다 ..... 아무 것도 효과가 없었습니다.'Range'클래스의 COM 개체에서 'value'메서드가 오류 코드 0x800A03EC (<unknown>)을 반환했습니다. 이는 <unknown>을 의미합니다. AX 2012

+0

질문 그것은 질문 자체에 있습니다. 분명한 문제 성명이없는 질문은 다른 독자에게 유용하지 않습니다. 참조 : [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve). –

답변

2

예, 가져올 때마다 Excel에이 문제가 발생했을 때 많은 행이 있습니다. 행 수가 적다면 완벽하게 작동합니다.

이 경우 항상 CSV 가져 오기의 Excel 가져 오기를 변경하십시오. csv 파일을 가져 오는 코드는 결코 실패하지 않고 훌륭하게 작동합니다.

여기에서는 3 행의 CSV 파일을 가져 오는 예제를 남깁니다.

코드 :

static void Stack(Args _args) 
{ 
    AsciiIo    asciiIo; 
    container    con; 
    FileIoPermission  perm;  
    boolean    _CortarProceso; 
    IO_Status    aa;  
    str     filename; 
    str     _row1, _row2, _row3;    

    Dialog    dialog; 
    DialogField   dialogFileName; 

    ; 

    dialog   = new Dialog("Select CSV File"); 
    dialogFileName = dialog.addField(ExtendedTypeStr("FilenameOpen"),"Path File:"); 

    if (dialog.run()) 
    { 
     filename = dialogFileName.value(); 
    } 

    if (!filename) 
    { 
     return; 
    } 

    perm = new FileIoPermission(filename, "R"); 
    perm.assert(); 
    asciiIo = new AsciiIo(filename, "R"); 
    asciiIo.inFieldDelimiter(";"); 

    if (asciiIo != null) 
    { 
      con = asciiIo.read(); 
      while((asciiIo.status() == IO_Status::Ok) && (!_CortarProceso)){       
       _Row1   = conPeek(con, 1); //Row1 
       _Row2   = conPeek(con, 2); //Row2 
       _Row3   = conPeek(con, 3); //Row3 

       if(_row1 != ""){ 
        //Your Code...  
        //Your Code... 
        //Your Code... 
        //Your Code... 
        //Your Code... 
       }else{ 
        _CortarProceso = true; 
       }       
       con = asciiIo.read(); 
      } 

    } 

    info("Process End"); 
} 
원하는 동작, 특정 문제 또는 오류 재현하는 데 필요한 가장 짧은 코드를 포함해야 디버깅 도움 ("왜이 코드가 작동하지?")을 찾는