BLOG

【プログラマー 研修 Java】もちおの記録9

こんにちは。もちおです。

最近自作PCに興味があるのですが、調べれば調べるほどお金のかかる趣味だということがわかります…

 

研修中の個人制作物

従業員の個人フォルダ内にある経費申請の書かれたExcelファイルをDBに取り込むシステムと、ブラウザでそのDBの情報が参照・更新できるシステムを作ろうとしていました。 特に今後の作成予定もないので、途中までですがここに残しておこうと思います。

個人フォルダ内にあるExcelファイル情報の取り込み

public static void main(String[] args) {

    //select name from StaffTableをした想定
    String[] name = { "A男", "B男" };

    try {

        for (int i = 0; i < name.length; i++) {

            //個人フォルダの絶対パスを作成
            StringBuilder filename = new StringBuilder();
            filename.append("C:\\Users\\ユーザ名\\Documents\\test\\");
            filename.append(name[i]);

            //Fileクラスのオブジェクトを生成する
            File dir = new File(filename.toString());

            //listFilesメソッドを使用して個人フォルダ内のファイル一覧を取得する
            File[] list = dir.listFiles();

            //指定したディレクトリを表示
            System.out.println(list[0].toString());

            //指定したファイルの中身を取得する
            File f = new File(list[0].toString());
            FileInputStream input = new FileInputStream(f);
            InputStreamReader osr = new InputStreamReader((input), "UTF-8");
            BufferedReader br = new BufferedReader(osr);
            ArrayList<String[]> data = new ArrayList<>();
            String line = br.readLine();
            byte[] b = line.getBytes();
            line = new String(b, "UTF-8");
            for (int row = 0; line != null; row++) {
                data.add(line.split(",", 0));
                line = br.readLine();
            }
            br.close();

            //ファイルの中身を画面出力
            for (String[] a : data) {
                for (String c : a) {
                    System.out.print(c + "/");
                }
                System.out.println();
            }
        }
    } catch (IOException e) {
        System.out.println(e);
    }
}

このあとは取得したデータをDBに挿入する処理を加え、このプログラム自体を定期実行させるようにしたかったのですが、研修期間中には間に合わなそうです。

ブラウザ上でDB情報の参照、操作

プログラムは3割程度の進捗なので載せませんが、作成していた設計書の一部はこちらに残しておきます。

ログインした社員の所有権限によって、表示する情報を「自分だけ/社員全員」にしたり、編集のボタンを表示しなかったりするつもりでした。

あとがき

JSP/Servletでプログラムを作成する前には、ある程度の設計図を描いたほうが遷移やパラメータで混乱しないと思いました。

現場で触れるシステムは規模も大きいと思うので、設計書をきちんと確認して混乱しないように努めたいです。

BLOGトップへ戻る