Использование Actionscript Worker для функции l oop, чтобы сделать это быстрее - PullRequest
0 голосов
/ 11 апреля 2020

Мой текущий код, который позволяет приложению загружать данные из файла Excel в приложение AIR, выглядит следующим образом:

import lib.xlsxreader.Worksheet;
import lib.xlsxreader.XLSXLoader;

public class Main extends MovieClip
{
    private var fileGet: File = new File();
    private var xloader: XLSXLoader = new XLSXLoader();

    public function Main()
    {
        fileGet = File.applicationDirectory;
        fileGet.addEventListener(Event.SELECT, selectExcel)
        xloader.addEventListener(Event.COMPLETE, uploadComplete);
        button.addEventListener(MouseEvent.CLICK, selectFile);
    }

    private function selectFile(e: MouseEvent): Void
    {
        fileGet.browseForOpen("Select File");
        xloader.load(fileGet.nativePath);
    }

    private function uploadComplete(e: Event): Void
    {
         ws = xloader.worksheet("[Name of the worksheet]");
         rowStart = 7;
         rowEnd = ws.rows;

         for (var i = rowStart; i <= rowEnd; i++)
         {
             //transferring data from excel into sqlite
         } 
    }
}

Приведенный выше код не является моим полным кодом, я просто сокращаю его до соответствующего кода , Дайте мне знать, если вам нужна дополнительная информация.

В данный момент код передает данные из 30 столбцов и 1000 ++ строк из файла Excel в течение примерно 10 минут, что довольно медленно и заставляет приложение AIR выглядеть «зависшим» или «заморозить» во время загрузки.

До меня дошло, что я могу использовать Worker API в Actionscript для ускорения этого процесса, но для жизни я не могу точно понять, как реструктурировать мой код, чтобы разрешить Worker API в моем коде.

Я прочитал пример из здесь , здесь и здесь , но я все еще не могу сделать в этом вопросе.

Насколько я понимаю, мой код //transferring data from excel into sqlite должен быть включен в класс CountResult из этого примера ...?

Может кто-нибудь помочь мне в этой проблеме. Обратите внимание, что я программист-самоучка, пытающийся научиться создавать приложение dekstop с помощью Adobe Animate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...