Exemple #1
0
        //サイト一覧テーブルをExcelファイルで出力
        private void create_site_info_book()
        {
            Task.Run(() =>
            {
                //共通デリゲートインスタンス
                d_status_messenger message   = w_status_messenger;
                d_ldr_activate ldr_activate  = w_ldr_activate;
                d_task_cancel canceler       = w_task_cancel;
                d_get_workDir _d_get_workDir = w_get_workDir;

                if (ldr_activated == false)
                {
                    //Libraドライバ起動しエラーの場合早期退出
                    if (!(Boolean)this.Invoke(ldr_activate))
                    {
                        return;
                    }
                }

                ldr.home();
                this.Invoke(message, "Libraにログインします。(" + DateUtil.get_logtime() + ")");
                ldr.login();
                DateUtil.app_sleep(shortWait);

                List <List <string> > data = ldr.get_site_info_data();
                List <string> head_row     = new List <string>()
                {
                    "ID", "サイト名", "備考", "検査期間"
                };
                data.Insert(0, head_row);

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                string save_dir      = (string)this.Invoke(_d_get_workDir);
                string save_filename = save_dir + "Libra検査サイト一覧_" + DateUtil.fetch_filename_logtime() + ".xlsx";
                ExcelUtil eu         = new ExcelUtil();
                eu.save_xlsx_as(data, save_filename);

                ldr.logout();
                this.Invoke(message, "処理が完了しました。(" + DateUtil.get_logtime() + ")");
            });
        }
        //Excel出力
        private void save_as_excel()
        {
            List <List <string> > data = new List <List <string> >();
            Func <DataGridView, List <string> > _head_row = delegate(DataGridView gr)
            {
                List <string> arr = new List <string>();
                for (int i = 0; i < gr.Columns.Count; i++)
                {
                    string col_name = gr.Columns[i].HeaderText;
                    arr.Add(col_name);
                }
                return(arr);
            };
            List <string> head_row = _head_row(reportGridTable);

            for (int i = 0; i < reportGridTable.RowCount; i++)
            {
                DataGridViewRow cols     = reportGridTable.Rows[i];
                List <string>   row_data = new List <string>();
                for (int j = 0; j < cols.Cells.Count; j++)
                {
                    string col_val = "";
                    if (cols.Cells[j].Value != null)
                    {
                        col_val = (string)cols.Cells[j].Value;
                    }
                    row_data.Add(col_val);
                }
                data.Add(row_data);
            }

            string save_path     = main_form.w_get_workDir();
            string projectID     = main_form.w_get_projectID();
            string save_filename = save_path + projectID + "_data_grid_repo_" + DateUtil.fetch_filename_from_datetime("xlsx");

            data.Insert(0, head_row);
            ExcelUtil eu = new ExcelUtil();

            eu.save_xlsx_as(data, save_filename);
        }
Exemple #3
0
        //PID+URLのExcelファイル出力
        private void do_create_pid_url_list_xlsx()
        {
            Task.Run(() =>
            {
                //共通デリゲートインスタンス
                d_status_messenger message  = w_status_messenger;
                d_ldr_activate ldr_activate = w_ldr_activate;
                d_task_cancel canceler      = w_task_cancel;

                //専用デリゲートインスタンス(条件系)
                d_get_UrlTask_source_flag _get_UrlTask_source_flag = w_get_UrlTask_source_flag;
                d_is_pageID_selected _is_pageID_selected           = w_is_pageID_selected;

                //専用デリゲートインスタンス(取得系)
                d_get_workDir _get_workDir     = w_get_workDir;
                d_get_projectID _get_projectID = w_get_projectID;
                d_pageID_data get_page_rows    = w_pageID_data;

                if (ldr_activated == false)
                {
                    //Libraドライバ起動しエラーの場合早期退出
                    if (!(Boolean)this.Invoke(ldr_activate))
                    {
                        return;
                    }
                }

                ldr.home();
                this.Invoke(message, "Libraにログインします。(" + DateUtil.get_logtime() + ")");
                ldr.login();
                DateUtil.app_sleep(shortWait);

                string projectID = (string)this.Invoke(_get_projectID);
                ldr.projectID    = projectID;

                string flag = (string)this.Invoke(_get_UrlTask_source_flag);
                List <List <string> > data = new List <List <string> >();
                string site_name           = "";

                if (flag == "report")
                {
                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    site_name = ldr.get_site_name();
                    data      = ldr.get_page_list_data();
                }
                else if (flag == "combo")
                {
                    if (!(Boolean)this.Invoke(_is_pageID_selected))
                    {
                        this.Invoke(message, "ページIDが選択されていません。処理を停止します。");
                        ldr.logout();
                        this.Invoke(message, "処理を停止しました。(" + DateUtil.get_logtime() + ")");
                        return;
                    }
                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    site_name = ldr.get_site_name();
                    data      = (List <List <string> >) this.Invoke(get_page_rows);
                }
                else if (flag == "svpage")
                {
                    this.Invoke(message, "検査メイン画面に移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_sv_mainpage();
                    DateUtil.app_sleep(longWait);
                    data = ldr.get_page_list_data_from_svpage();

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);
                    site_name = ldr.get_site_name();

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }
                }

                //ヘッダー行の処理
                List <string> head_row = new List <string>()
                {
                    "PID", "URL"
                };
                data.Insert(0, head_row);

                string save_dir      = (string)this.Invoke(_get_workDir);
                string save_filename = save_dir + projectID + "_" + site_name + " URL.xlsx";

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                ExcelUtil eu = new ExcelUtil();
                eu.save_xlsx_as(data, save_filename);

                ldr.logout();
                this.Invoke(message, "処理が完了しました。(" + DateUtil.get_logtime() + ")");
            });
        }