gpt4 book ai didi

java - 设置 XSSFSheet 的顶行和左列

转载 作者:行者123 更新时间:2023-11-30 07:38:51 26 4
gpt4 key购买 nike

我试图确保文件打开时 XLSX 工作表位于左上角。

XSSFSheet 有一个 getTopCol()和一个getLeftCol()方法,但没有 setter。

XSSFSheet.showInPane(int, int)确实有效,但前提是 Pane 被卡住或拆分。

    PaneInformation pane = sheet.getPaneInformation();
if (pane == null) {
// FIXME doesn't work when there is no pane
sheet.showInPane(CellAddress.A1.getRow(), CellAddress.A1.getColumn());
} else {
// OK
sheet.showInPane(pane.getHorizontalSplitPosition(), pane.getVerticalSplitPosition());
}

我尝试查看可以从 XSSFSheet 类访问哪些内容,但所有底层方法都是私有(private)的。

有人知道将工作 TableView 重置为左上角单元格的方法吗?

最佳答案

似乎没有直接使用 POI 对象进行此类设置。但使用 CTWorksheet 是可能的。 http://grepcode.com/file/repo1.maven.org/maven2/org.apache.poi/ooxml-schemas/1.1/org/openxmlformats/schemas/spreadsheetml/x2006/main/CTWorksheet.java#CTWorksheet

...
((XSSFSheet)sheet).getCTWorksheet().getSheetViews().getSheetViewArray(0).setTopLeftCell("D10");
...

获取此类信息的最佳方法是直接使用 Excel 创建一个简单的文件。然后将其另存为 *.xlsx。然后解压缩该文件并查看 /xl/worksheets/sheet1.xml。在那里你会发现:

...
<sheetViews>
<sheetView workbookViewId="0" tabSelected="true" topLeftCell="D10"/>
</sheetViews>
...

关于java - 设置 XSSFSheet 的顶行和左列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34974778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com