Java Apache POI Excel Перезапись

349
13 апреля 2017, 16:25
package application;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class RkJournal {

    @SuppressWarnings({ "deprecation", "resource" })
    public synchronized static void read(String str6j, String str13j) throws IOException{
        FileInputStream fis = new FileInputStream("Заключение РК.xls");
        Workbook wb = new HSSFWorkbook(fis);
        Path p = Paths.get("Журнал РК.xls");
        String pString = p.toString();
        if(!Files.exists(p)) {
            Files.createFile(p);
            Workbook rkjournal = new HSSFWorkbook();
            Sheet sh = rkjournal.createSheet("Журнал РК");

            CellStyle style = rkjournal.createCellStyle();
            Font font = rkjournal.createFont();
            font.setFontName("Times New Roman");
            font.setFontHeightInPoints((short) 8);
            style.setAlignment(CellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
            style.setWrapText(true);
            style.setBorderBottom(BorderStyle.THIN);
            style.setBorderLeft(BorderStyle.THIN);
            style.setBorderRight(BorderStyle.THIN);
            style.setBorderTop(BorderStyle.THIN);
            style.setFont(font);
            sh.setColumnWidth(1, 4000);
            sh.setColumnWidth(3, 2936);
            sh.setColumnWidth(5, 2960);
            sh.setColumnWidth(7, 4810);
            sh.setColumnWidth(8, 2960);
            sh.setColumnWidth(9, 2516);
            sh.setColumnWidth(10, 4107);
            sh.setColumnWidth(11, 3108);
            sh.setColumnWidth(12, 2812);
            sh.setColumnWidth(13, 2812);
            sh.setColumnWidth(14, 3441);
            sh.setColumnWidth(15, 3239);
            Row row = sh.createRow((short) 0);
            Row row1 = sh.createRow((short) 1);
            Cell cell = row.createCell(0);
            Cell cell1 = row.createCell(1);
            Cell cell2 = row.createCell(2);
            Cell cell3 = row.createCell(3);
            Cell cell4 = row.createCell(4);
            Cell cell5 = row.createCell(5);
            Cell cell6 = row.createCell(6);
            Cell cell7 = row.createCell(7);
            Cell cell8 = row.createCell(8);
            Cell cell11 = row.createCell(9);
            Cell cell12 = row.createCell(10);
            Cell cell13 = row.createCell(11);
            Cell cell15 = row.createCell(12);
            Cell cell16 = row.createCell(13);
            Cell cell17 = row.createCell(14);
            Cell cell18 = row.createCell(15);

            cell.setCellValue("№п/п");
            cell1.setCellValue("Наименование узла,детали;№сварного соединения по журналу сварки или сварочной схеме;№сварочного журнала или схемы");
            cell2.setCellValue("Шифр сварщика(оператора) или бригады; фамилия, инициалы");
            cell3.setCellValue("Методы неразрушающего контроля(ВИК,РК,УЗК,МК,ПВК) и дата его проведения");
            cell4.setCellValue("Диаметр и толщина стенки трубы,мм");
            cell5.setCellValue("Условия проведения контроля");
            cell6.setCellValue("Средства контроля");
            cell7.setCellValue("Описание выявленных дефектов (координаты по периметру шва)");
            cell8.setCellValue("Схема проконтролированного сварного соединения по СТО 2-2.4-083-2006");
            cell11.setCellValue("Примечания");
            cell12.setCellValue("№заключения НК и дата его выдачи");
            cell13.setCellValue("Сведения о качестве проконтролированного сварного соединения");
            cell15.setCellValue("Подпись специалиста НК (ВИК,РК,УЗК,МК,ПВК)");
            cell16.setCellValue("Подпись начальника, инженера службы контроля качества");
            cell17.setCellValue("Замечание строительного(технического)надзора по качеству проведения НК с указанием должности, фамилии и даты");
            cell18.setCellValue("Дата и подпись ответственного лица об устранении замечаний");

            FileOutputStream fos = new FileOutputStream(new File (pString));
            rkjournal.write(fos);
            fos.close();
        }

Вот до сюда все работает, если файла в папке нет он создает.

        else{
            FileInputStream fis1 = new FileInputStream(new File(pString));
            Workbook rkjournal = new HSSFWorkbook(fis1);
            Sheet sh = rkjournal.getSheetAt(0); 

Старый файл тоже нормально открывается, я считывал значения с ячеек.

            Row row = sh.createRow(sh.getLastRowNum()+1);
            String string1 = new String("Тортик");
            Cell cell = row.createCell(0);
            cell.setCellValue(string1);
            fis1.close();          

А далее непонятно толи он не обновляет таблицу толи код ниже не правильный...

            FileOutputStream fos = new FileOutputStream(new File(pString), true);
            rkjournal.write(fos);
            rkjournal.close();
            fos.flush();
            fos.close();
        }
    }
}
READ ALSO
Spring Security OAuth2

Spring Security OAuth2

Есть сервис с авторизацией через OAuth2 (например, vkcom)

279
Запрос на выборку left join hibernate

Запрос на выборку left join hibernate

Есть таблица users & words связь многие ко многимИ связующая таблица, ну например users_words(неожиданно, да?) Как можно проделать при помощи Criteria такую...

222
Аналог position: fixed; относительно родителя

Аналог position: fixed; относительно родителя

Требуется сделать элемент, который будет перемещаться внутри родительского элемента при скроллинге страницыТ

270