我有一个用户定义的对象,需要为每一行存储在一个单元格中。
到目前为止,我使用以下过程将值存储为字符串,(1.) 将对象转换为字节 [] - 使用 ByteArrayOutputStream (2.) 将字节 [] 转换为字符串 - 使用 Base64 编码。我再次将存储的值读取为,(1.)将字符串转换为字节 [] - 使用 Base64 解码(2.)将字节 [] 转换为对象 - 使用 ByteArrayInputStream
这对我来说很好,但是 Excel 的大小从 800KB 增加到 1.1MB(例如)。因此,为了进一步减小文件大小,我使用 ZipOutputStream 压缩字节 [] 值,然后使用 Base64 编码转换为字符串。但这进一步将文件的大小增加到 2.2MB。因此,如果我正在处理压缩的 byte[] 值,我认为 Base64 编码会增加文件的大小。
如果我在这里做错了什么/是否有更好的选择将对象存储到 excel 单元格中,请告诉我。PS我将阅读和使用存储的对象以用于进一步的目的。