Запись файла в шаблон excel

233
02 марта 2018, 16:40

Есть класс для записи структуры данных в новый файл excel, приведен ниже. Нужно добавить возможность записи в шаблон.

Т.е. сейчас приходит список листов для записи в файл (Map> ofd) где ключ - название листа, а значение - список строк с данными.

И все это записывается в новый файл эксель.

Я хочу записывать эти же данные в шаблон, в котором несколько листов с данными уже есть.

public class WriteToExcel {
    public String writeResult(String path, Map<String, List<String[]>> ofd){
        SXSSFWorkbook newBook = new SXSSFWorkbook(100);
        Sheet newSheet = null;
        //в цикле получаю список названий листов и передаю их далее для записи
        for(String sheetName: ofd.keySet()){
            newSheet = newBook.createSheet(sheetName);
            writeSheet(newSheet,ofd.get(sheetName));
        }
        String pathResult = path  + "\\ИМЯ.xlsx";
        saveBook(newBook, pathResult);
        return pathResult;
    }
    //метод для сохранения результата
    private void saveBook(SXSSFWorkbook newBook, String path) {
        FileOutputStream fos;
        try {
            fos = new FileOutputStream(new File(path));
            newBook.write(fos);
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // запись данных в эксель
    private void writeSheet(Sheet sheet, List<String[]> list){
        Row row = null;
        for(int i=0;i<list.size();i++){
            String [] rowData = list.get(i);
            row = sheet.createRow(i);
            for (int j = 0; j < list.get(0).length; j++) {
                try { //Чтобы числа были записаны в xml как числа а не как текст
                    row.createCell(j).setCellValue(Double.parseDouble(list.get(i)[j]));
                } catch (Exception e) {
                    row.createCell(j).setCellValue(list.get(i)[j]);
                }
            }
        }
    }
}
READ ALSO
Collection и ArrayList в Java

Collection и ArrayList в Java

В чём преимущество такой записи:

194
Как реализовать подобную фишку на js, jq? [требует правки]

Как реализовать подобную фишку на js, jq? [требует правки]

Внутри контейнера должно находиться изображение превышающее его размерыНужен механизм перемещения изображения по наведению мышкой в пределах...

496
noUislider Trackbar добавить к ползункам отоброжение данных

noUislider Trackbar добавить к ползункам отоброжение данных

Как вставить в слайдер noUislider там трекбар с двумя ползунками и хочу к ползункам данные добавить сверху что бы отоброжалисьКак это сделать?

198