POI SXSSFWorkbook 获取字节数量
时间: 2023-08-17 09:35:44 浏览: 48
如果你需要获取 `SXSSFWorkbook` 中所有 sheet 的字节数量,可以使用 `SheetDataWriter` 类的 `getTotalBytesWritten()` 方法。`SheetDataWriter` 类是 `SXSSFWorkbook` 中用于写入 sheet 数据到临时文件的类,每个 sheet 对应一个 `SheetDataWriter` 对象,而 `getTotalBytesWritten()` 方法可以获取该 sheet 数据的字节数量。因此,你可以遍历 `SXSSFWorkbook` 中的所有 sheet,累加所有 `SheetDataWriter` 的 `getTotalBytesWritten()` 的值,得到 `SXSSFWorkbook` 中所有 sheet 的字节数量。示例代码如下:
```java
SXSSFWorkbook workbook = new SXSSFWorkbook();
// 在 workbook 中添加数据
// ...
long totalBytes = 0;
for (SXSSFSheet sheet : workbook.getSheets()) {
SheetDataWriter sheetDataWriter = sheet.getSheetDataWriter();
totalBytes += sheetDataWriter.getTotalBytesWritten();
}
System.out.println("Total bytes: " + totalBytes);
```
需要注意的是,上述代码中的 `getTotalBytesWritten()` 方法返回的是该 sheet 数据的字节数量,不包括 sheet 的元数据(比如 sheet 名称、行高、列宽等)以及其他非数据部分(比如样式、格式等)。如果你需要获取整个 `SXSSFWorkbook` 的字节数量,可以将所有 sheet 的字节数量相加,再加上其他元数据的字节数量。