Andriy Kopachevskyy
Andriy Kopachevskyy

Reputation: 7706

Apache POI set selected cell after xls document opens

We have next situation: our system has data export in xls format, this is huge file with many rows and columns. And after user download and open document he see document scrolled to last column and last Spreadsheet tab. This is very annoying, better to set focus on first tab and first cell. I did simple test code to see how it works:

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();
}
}

And this doesn't works.

Upvotes: 9

Views: 9905

Answers (2)

viniciussss
viniciussss

Reputation: 4662

This worked for me:

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

Upvotes: 2

Andriy Kopachevskyy
Andriy Kopachevskyy

Reputation: 7706

Here is working solution, have found this here

    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();

Upvotes: 7

Related Questions