NPOI读写去掉复选框的格式控制

NPOI Read and write removes format control of the checkbox

写入读取 Excel 文件会删除使用 NPOI link编辑到该复选框的单元格。

我曾尝试使用 FileStream 读取带有复选框的 Excel 文件(带有使用格式控制的单元格 link),然后使用另一个 FileStream 写入它会删除单元格 link 到那个复选框。

Dim xssfWorkBook As XSSFWorkbook
' Read the Excel template
Using fs As New FileStream(src, FileMode.Open, FileAccess.Read)
    xssfWorkBook = New XSSFWorkbook(fs)
End Using

Dim sheet As ISheet = xssfWorkBook.GetSheetAt(0)
Dim row As IRow = sheet.GetRow(4)
Dim A4Cell As ICell = row.GetCell(0) ' Linked cell of the checkbox control
A4Cell.SetCellValue("1") ' Set "0" -> "1" (TRUE)

' Write to Excel file
Using fs As New FileStream(dest, FileMode.Create, FileAccess.Write)
    xssfWorkBook.Write(fs)
End Using

我希望复选框保留 linked 单元格。

使用 HSSF 解决了链接单元格被擦除的问题。这仅适用于 Excel 个扩展名为 .xls 的文件。

Dim hssfWorkBook As HSSFWorkbook
' Read the Excel template
Using fs As New FileStream(src, FileMode.Open, FileAccess.Read)
    hssfWorkBook= New HSSFWorkbook(fs)
End Using