Моя цель - открыть существующий файл Excel и создать новый именованный диапазон. Кажется, что создание названного диапазона работает, но я должен сохранить файл позже (я думаю). При сохранении с использованием wb.write(fileOut);
генерируется файл размером 0 КБ.
Нужно ли перебирать все данные и отправлять их в OutputStream? Или есть другая возможность (может быть, с помощью FileInputStream?)
import org.apache.poi.ss.usermodel.*
import org.apache.poi.hssf.usermodel.*
import org.apache.poi.xssf.usermodel.*
import org.apache.poi.ss.util.*
import org.apache.poi.ss.usermodel.*
import java.io.*
xlFileAddress = '/tomcat-etl/webapps/etlserver/data/files/ProductSales.xlsx';
Workbook wb = WorkbookFactory.create(new File(xlFileAddress));
Sheet sheet = wb.getSheetAt(0);
// create named range
Name namedCell = wb.createName();
namedCell.setNameName("newName1");
reference = "Sheet1!\$A\$1"; // area reference
namedCell.setRefersToFormula(reference);
try {
OutputStream fileOut = new FileOutputStream(xlFileAddress)
wb.write(fileOut);
}
catch(Exception e) {
LOG.info("Exception:")
}