こんにちは。もちおです。
最近自作PCに興味があるのですが、調べれば調べるほどお金のかかる趣味だということがわかります…
従業員の個人フォルダ内にある経費申請の書かれたExcelファイルをDBに取り込むシステムと、ブラウザでそのDBの情報が参照・更新できるシステムを作ろうとしていました。 特に今後の作成予定もないので、途中までですがここに残しておこうと思います。
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に挿入する処理を加え、このプログラム自体を定期実行させるようにしたかったのですが、研修期間中には間に合わなそうです。
プログラムは3割程度の進捗なので載せませんが、作成していた設計書の一部はこちらに残しておきます。
ログインした社員の所有権限によって、表示する情報を「自分だけ/社員全員」にしたり、編集のボタンを表示しなかったりするつもりでした。
JSP/Servletでプログラムを作成する前には、ある程度の設計図を描いたほうが遷移やパラメータで混乱しないと思いました。
現場で触れるシステムは規模も大きいと思うので、設計書をきちんと確認して混乱しないように努めたいです。