我们有下一种情况:我们的系统有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();
}
}
这不起作用。
答案 0 :(得分:7)
这是工作解决方案,找到了这个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();
答案 1 :(得分:1)
这对我有用:
sheet.setActiveCell(new CellAddress(0, 0));