Apache POI устанавливает выбранную ячейку после открытия документа xls - PullRequest
9 голосов
/ 28 марта 2011

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

public class SelectionTest {
public static String file = "/usr/test/poi.test/src/main/resources/test";
@Test
public void test() throws FileNotFoundException, IOException {
    HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
    HSSFSheet s = wb.getSheetAt(0);
    s.setActive(true);
    HSSFRow row = s.getRow(0);
    HSSFCell cell = row.getCell(0);
    cell.setAsActiveCell();
    FileOutputStream out = new FileOutputStream(file);
    wb.write(out);
    out.close();
}
}

И это не работает.

Ответы [ 2 ]

7 голосов
/ 28 марта 2011

Вот рабочее решение, нашли это здесь

    HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
    HSSFSheet s = wb.getSheetAt(0);
    wb.setActiveSheet(0);
    s.showInPane(0, 0);
    FileOutputStream out = new FileOutputStream(file);
    wb.write(out);
    out.close();
1 голос
/ 26 июля 2017

Это сработало для меня:

sheet.setActiveCell(new CellAddress(0, 0));
...