Всем привет!
Я новичок в java-коде и мне прилетела срочная задача где необходимо создать таблицу в xlsx файле с вложенными данными созданной таблицы.
Ниже имеется рабочий код, который берет word-файл, создает в этом файле таблицу и
далее вставляет данные в эту таблицу
Аналогично коду описанному ниже, мне нужно все тоже самое скодировать на java только с xlxs-файлом
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(blobBytes);
XWPFDocument docxFile = new XWPFDocument(OPCPackage.open(byteArrayInputStream));
// create table
XWPFTable table = docxFile.createTable();
// create header of table
XWPFTableRow headerRow = table.getRow(0);
XWPFParagraph header1Paragraph = headerRow.getCell(0).addParagraph();
XWPFParagraph header2Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header3Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header4Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header5Paragraph = headerRow.createCell().addParagraph();
// rows = table.createRow();
setRun(header1Paragraph.createRun(), " № " , true, false);
setRun(header2Paragraph.createRun(), " Ф.И.О. " , true, false);
setRun(header3Paragraph.createRun(), " Результат " , true, false);
setRun(header4Paragraph.createRun(), " КОД " , true, false);
setRun(header5Paragraph.createRun(), " Дата " , true, false);
XWPFParagraph bodyParagraph = docxFile.createParagraph();
XWPFTableRow row1 = table.createRow();
row1.getCell(0).setText("1");
row1.getCell(1).setText(fioA);
row1.getCell(2).setText(resA);
XWPFRun row1Run = row1.getCell(3).addParagraph().createRun();
if ((qrBytes != null) && (qrBytes.length > 0)) {
InputStream qrByteArrayInputStream = new ByteArrayInputStream(qrBytes);
row1Run.addPicture(qrByteArrayInputStream, 5, "",
Units.toEMU(50.0D),
Units.toEMU(50.0D));
}
row1.getCell(4).setText(dateA);
И вот мой код, который в принципе не работает( -- да, не очень-то получилось)
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(blobBytes);
XSSFWorkbook docxFile = new XSSFWorkbook(OPCPackage.open(byteArrayInputStream));
XSSFSheet sheet = docxFile.createSheet();
// create table
XSSFTable table = sheet.createTable();
// create header of table
и вот ниже закомментиованный код я уже не могу сообразить какие библиотеки мне
можно использовать -- плиз, кто-нибудь отзовитесь пожалуйста (пробовала библиотеки
XSSFRow, XSSFCell - понимаю что данные библиотеки чисто на листе работают)
/*XWPFTableRow headerRow = table.getRow(0);
XWPFParagraph header1Paragraph = headerRow.getCell(0).addParagraph();
XWPFParagraph header2Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header3Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header4Paragraph = headerRow.createCell().addParagraph();
XWPFParagraph header5Paragraph = headerRow.createCell().addParagraph();
// rows = table.createRow();
setRun(header1Paragraph.createRun(), " № " , true, false);
setRun(header2Paragraph.createRun(), " Ф.И.О. " , true, false);
setRun(header3Paragraph.createRun(), " Результат " , true, false);
setRun(header4Paragraph.createRun(), " КОД " , true, false);
setRun(header5Paragraph.createRun(), " Дата " , true, false);
XWPFParagraph bodyParagraph = docxFile.createParagraph();
XWPFTableRow row1 = table.createRow();
row1.getCell(0).setText("1");
row1.getCell(1).setText(fioA);
row1.getCell(2).setText(resA);
XWPFRun row1Run = row1.getCell(3).addParagraph().createRun();
if ((qrBytes != null) && (qrBytes.length > 0)) {
InputStream qrByteArrayInputStream = new ByteArrayInputStream(qrBytes);
row1Run.addPicture(qrByteArrayInputStream, 5, "",
Units.toEMU(50.0D),
Units.toEMU(50.0D));
}
row1.getCell(4).setText(dateA);*/
Заранее благодарю за помощь!