私はExcelのテンプレートシートを読み込むプログラムを書いています。最初の列は隠されていました。さて、私はプログラムでExcelの列を非表示にするコードを持っています(A1からの列の開始)。POIを使用して、水平スクロールバーをシートの1列左に移動する方法はありますか?
私はApache POI 3.16バージョンを使用しています。
ファイルを開くと、B1列から私が表示される代わりに、A1からの列が表示されます。 XLSのコードの下に記述すると、正しく動作しますが、XLSX形式では機能しませんでした。
sheet.showInPane(0, 0);
私は手動で私の最初の列を表示するために、水平スクロールバーを移動する必要があります。これをプログラムで実行して、XLSX形式の最初の列に自動スクロールする必要がありますか?
ここに私のフルコードです。
public Workbook readWorkBookAndWriteErrors(String bufId,String inputFile, String ext) throws Exception {
Workbook workBook =null;
Sheet sheet = null;
if(GlobalVariables.EXCEL_FORMAT_XLS.equalsIgnoreCase(ext)){
// Get the workbook instance for XLS file
workBook = new HSSFWorkbook(new FileInputStream(inputFile));
}else{
// Get the workbook instance for XLSX file
workBook = new XSSFWorkbook(new FileInputStream(inputFile));
}
sheet = workBook.getSheetAt(0);
Row row = null;
if(sheet.isColumnHidden(0)){
sheet.setColumnHidden(0, false);
sheet.setActiveCell(new CellAddress("A1"));
sheet.showInPane(0, 0);
sheet.createFreezePane(0, 1);
Iterator<Row> rowIterator = sheet.iterator();
int rowIndex = 1;
while (rowIterator.hasNext()) {
row = rowIterator.next();
if(rowIndex == 1){
rowIndex++;
continue;
}
Cell cell = row.createCell(0);
cell.setCellValue("error message");
rowIndex++;
}
}
return workBook;
}
は、それがために働いていますhttps://stackoverflow.com/questions/34974778/set-top-row-and-left-column-for-an-xssfsheet/ –
おかげ@Axelリヒター –