Как мне сохранить свои данные в электронной таблице? - PullRequest
0 голосов
/ 11 марта 2019

Я хотел бы, чтобы мои сотрудники заполняли это в конце каждого дня.Как я смогу сохранять данные за каждый день в новую таблицу?Однажды я также попытаюсь сделать пользовательский интерфейс для удобства использования.Кстати, он еще далеко не закончен, все же необходимо добавить способ сохранения двух наборов данных за один день, поскольку в один и тот же день могут работать два гонщика.И пока не обнаружено ошибок.

public static void main(String[] args) {

    //<---Declaring input method
        Scanner scan = new Scanner(System.in);  

    //<---Declaring Variables
        String Rider;

        int SLetters;
        int LLetters;
        int SParcels;
        int LParcels;
        int RedirectedMail;
        int RTSMail;
        int SigItems;

        int VSortStart;
        int VSortFinish;

        int SetupTimeBeat1Parcels;
        int SetupTimeBeat2Parcels;
        int SetupTimeBeat3Parcels;
        int SetupTimeMainStParcels;
        int SetupTimeLargeParcels;

        int SetupTimeBeat1Letters;
        int SetupTimeBeat2Letters;
        int SetupTimeBeat3Letters;
        int SetupTimeMainStLetters;

        int DeliveryStartTime;
        int DeliveryFinishTime;
        int LargeParcelDeliveryStart;
        int LargeParcelDeliveryFinish;

        int BikeDistanceStart;
        int BikeDistanceFinish;
        int CarDistanceStart;
        int CarDistanceFinish;
        int Breaks;

        int ConfirmCount = 0;

    //<---Asking for User input and collecting the data
    //<---While loop to make sure data is correct
        while(ConfirmCount == 0) {

            System.out.print("Enter number of Small Letters: ");
            SLetters = scan.nextInt();

            System.out.print("Enter number of Large Letters: ");
            LLetters = scan.nextInt();

            System.out.print("Enter number of Small Parcels: ");
            SParcels = scan.nextInt();

            System.out.print("Enter number of Large Parcels: ");
            LParcels = scan.nextInt();

            System.out.print("Enter number of Redirected Letters: ");
            RedirectedMail = scan.nextInt();

            System.out.print("Enter number of RTS Letters: ");
            RTSMail = scan.nextInt();

            System.out.print("Enter number of Signature Items: ");
            SigItems = scan.nextInt();

            System.out.print("Enter V-Sort Start Time (24hr time and no ':' e.g 0830): ");
            VSortStart = scan.nextInt();

            System.out.print("Enter V-Sort Finish Time (24hr time and no ':' e.g 0830): ");
            VSortFinish = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 1 Parcels: ");
            SetupTimeBeat1Parcels = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 2 Parcels: ");
            SetupTimeBeat2Parcels = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 3 Parcels: ");
            SetupTimeBeat3Parcels = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 1 Letters: ");
            SetupTimeBeat1Letters = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 2 Letters: ");
            SetupTimeBeat2Letters = scan.nextInt();

            System.out.print("Enter Setup Time for Beat 3 Letters: ");
            SetupTimeBeat3Letters = scan.nextInt();

            System.out.print("Enter Setup Time for Main St Letters: ");
            SetupTimeMainStLetters = scan.nextInt();

            System.out.print("Enter Setup Time for Main St Parcels: ");
            SetupTimeMainStParcels = scan.nextInt();

            System.out.print("Enter Setup Time for Large Parcels: ");
            SetupTimeLargeParcels = scan.nextInt();

            System.out.print("Enter Time You Started Delivering on the Bike: ");
            DeliveryStartTime = scan.nextInt();

            System.out.print("Enter Time You Finished Delivering on the Bike: ");
            DeliveryFinishTime = scan.nextInt();

            System.out.print("Enter Time You Started Delivering in the Ute: ");
            LargeParcelDeliveryStart = scan.nextInt();

            System.out.print("Enter Time You Finished Delivering in the Ute: ");
            LargeParcelDeliveryFinish = scan.nextInt();

            System.out.print("Enter Break Time (Minutes): ");
            Breaks = scan.nextInt();

        //<---Displaying and confirming user data
            System.out.println();
            System.out.println("Thank you for entering the data.");
            System.out.println();
            System.out.println("Please read over the following and confirm data is correct");
            System.out.println();

            System.out.println("Small Letters = " + SLetters);
            System.out.println("Large Letters = " + LLetters);
            System.out.println("Small Parcels = " + SParcels);
            System.out.println("Large Parcels = " + LParcels);
            System.out.println("Redirected Letters = " + RedirectedMail);
            System.out.println("RTS Letters = " + RTSMail);
            System.out.println("Signature Items = " + SigItems);

            System.out.println("V-Sort Start Time = " + VSortStart);
            System.out.println("V-Sort Finish Time = " + VSortFinish);

            System.out.println("Beat 1 Setup Time for Parcels = " + SetupTimeBeat1Parcels);
            System.out.println("Beat 2 Setup Time for Parcels = " + SetupTimeBeat2Parcels);
            System.out.println("Beat 3 Setup Time for Parcels = " + SetupTimeBeat3Parcels);
            System.out.println("Setup Time for Main St Parcels = " + SetupTimeMainStParcels);
            System.out.println("Setup Time for Large Parcels = " + SetupTimeLargeParcels);

            System.out.println("Beat 1 Setup Time for Letters = " + SetupTimeBeat1Letters);
            System.out.println("Beat 2 Setup Time for Letters = " + SetupTimeBeat2Letters);
            System.out.println("Beat 3 Setup Time for Letters = " + SetupTimeBeat3Letters);
            System.out.println("Setup Time for Main St Letters = " + SetupTimeMainStLetters);

            System.out.println("Bike Delivery Start Time = " + DeliveryStartTime);
            System.out.println("Ute Delivery Start Time = " + LargeParcelDeliveryStart);
            System.out.println("Bike Delivery Finish Time = " + DeliveryFinishTime);
            System.out.println("Ute Delivery Finish Time = " + LargeParcelDeliveryFinish);
            System.out.println("Breaks = " + Breaks + " minutes");
            System.out.println();
            System.out.print("Is this information correct? Y or N?: ");
            String IsCorrect; 
            IsCorrect = scan.next();

            if(IsCorrect.contains("Y")){

                ConfirmCount++;
            }
            else {

                System.out.println();
                System.out.println("Please try again.");
                System.out.println();
            }

        }
        System.out.println();
        System.out.println("Thank You! Have a great day :)");


}

}

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Вы можете воспользоваться помощью APACHE POI , чтобы записать свои данные в электронную таблицу.

Смотрите здесь - https://www.tutorialspoint.com/apache_poi/apache_poi_spreadsheets.htm

Короче говоря, логика поможет вам добавить электронную таблицу в существующий файл Excel.

HSSFWorkbook workbook = null; // creating a new workbook
File file = new File(context.getExternalFilesDir(null), "Sample.xls"); //getting a file with this name if not exist will create a new excel file with this in below steps
FileOutputStream fileOut = new FileOutputStream(file); // output stream is used to write to a file

if (file.exists()) { // if file exists add a new workbook to it 
    try {
        workbook = (HSSFWorkbook)WorkbookFactory.create(file);
    } catch (InvalidFormatException e) {
        e.printStackTrace();
    }
    //add logic to convert the input to excel rows and write it into a wrokbook like this
    HSSFSheet sheet = workbook.createSheet("Sample sheet2");

}
else{ // create a new workbook
    workbook = new HSSFWorkbook();
    // for the first time if nothing is there this will execute 
    //add logic to convert the input to excel rows and write it into a wrokbook like this
    HSSFSheet sheet = workbook.createSheet("Sample sheet1");
}
workbook.write(fileOut); // closing the workbook after all operations
fileOut.close(); // closing the output stream

Это может показаться немного сложным, если вы не знакомы с JAVA, но я бы порекомендовал вам задавать вопросы, если что-то здесь не имеет смысла.

0 голосов
/ 11 марта 2019

Вы можете использовать связанные с poi зависимости , так же, как это

 WritableWorkbook book = Workbook.createWorkbook(new File("c:\\test.xls"));
 WritableSheet sheet = book.createSheet("sheet1", 0);
 Label label = new Label(0, 0, "test");
 sheet.addCell(label);
 jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
 sheet.addCell(number);
 book.write();
 book.close();

Это может редактировать Windows Excel, вы можете узнать, связанные с poi операций через Google. Конечно, я думаю, что лучший способ - создать веб-проект с помощью javaEE

.
...